Sobrepondo impulsos transparentes (ycomb) com pgfplots?

Sobrepondo impulsos transparentes (ycomb) com pgfplots?

Considere o seguinte MWE:

\documentclass[%
  12pt,
  journal,
  twoside,
  draftcls,
  letterpaper,
]{IEEEtran}

\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{tikz}
\usetikzlibrary{intersections} %% named intersections "I do not know the key '/tikz/name path global'"


\begin{document}

\pgfplotstableread[col sep=&,row sep=\\]{
  0.0159779999812599 & 0.00398599999607541 \\
  0.0240009999834001 & 0.00802300000214018 \\
  0.0240489999996498 & 4.80000162497163e-05 \\
  0.0280280000006314 & 0.00397900000098161 \\
}\mytable


\begin{tikzpicture}

\begin{scope}
\begin{axis}[
  title={\small my data},
  title style={at={(0.5,0.9)},anchor=center},
  clip=true,
  axis x line=middle,
  axis y line=middle,
  y axis line style=-,
  xmin = 2e-3,
  xmax = 38e-3,
  ymin = 0,
  ymax = 1.5,
  xlabel={$t$\,[ms]},
  xlabel style={at={(axis description cs:1.01,+0.0)},anchor=west},
  ylabel={}, %{$U$\,[V]},
  ylabel style={at={(axis description cs:-0.02,1.01)},anchor=south},
  xtick=data,
  scaled x ticks=base 10:3,
  xtick scale label code/.code={},
  x tick label style={
    rotate=-45,
    anchor=west,
    /pgf/number format/fixed,
    /pgf/number format/fixed zerofill,
    /pgf/number format/precision=3,
  },
  ymajorticks=false,
  yminorticks=false,
  tick label style={font=\small,},
  legend cell align=left,
  legend pos=outer north east,
]

\addplot[
  name path global=afunc,
  ycomb,
  draw=black,
%   opacity=0.2, % global
  mark=*, mark options={
    draw=black,
    fill=black,
    opacity=0.2, % on mark
  },
  line width=2pt,
]
  table[x index = 0,y expr=1] \mytable ;

\end{axis}
\end{scope}

\end{tikzpicture}
\end{document}

Com o código como está, evincerenderiza o pdf como (clique para ver a imagem em tamanho real):

teste-1.png

com a opacidade "% global" habilitada, o pdf é renderizado como:

teste-2.png

... porém, o que eu quero é que os "impulsos" sejam transparentes, para que ganhem uma cor mais intensa quando se sobrepõem - e nenhuma das imagens acima mostra isso: o global é, bem, global - e o "local "um aplicado ao estilo de marca parece ignorado?

Além disso, há alguma maneira de preencher completamente as marcas (círculos) dos impulsos? (parece que há um buraco dentro, se você olhar atentamente as imagens em tamanho real)

Alguma maneira de conseguir o que quero? O arquivo de log diz:

Pacote: pgfplots 2011/12/29 v1.5.1 (git show 1.5.1-4-g53e640f)

Responder1

Bem, consegui uma espécie de truque para funcionar: primeiro, tentei ybaro estilo, que é meio semelhante - mas parece que também aplica opacidade/transparência ao gráfico como um todo - não a barras/linhas individuais.

Então tentei percorrer os dados da tabela e desenhar linhas individuais com opacidade - e isso finalmente parece ter funcionado; as alterações relevantes no MWE acima são:

...
\usepackage{pgfplotstable}
...
]

\def\opac{0.4}

\addplot[
  name path global=afunc,
  only marks, %ycomb,
  draw=none, %black,
  %opacity=\opac, % global
  mark=*, mark options={
    draw=none, %black,
    %fill=black,
    opacity=\opac, % on mark; both stroke and fill (and stroke will overlap fill - twice the opacity!? even with draw=none?)
  },
  %line width=2pt, % also changes the line around the mark!
]
  table[x index = 0,y expr=1] \mytable ;


% \addplot[
%   name path global=afuncb,
%   ybar,
%   bar width=2pt,
%   %fill=black,
%   %draw=none,
%   opacity=0.4,
% ]
%   table[x index = 0,y expr=1] \mytable ;


\pgfplotstableforeachcolumnelement{0}\of\mytable\as\cx{%
  % \node{I have now cell element ‘\cx’ at row index ‘\pgfplotstablerow’;\par};
  \edef\temp{ %
    \noexpand\draw[%
      line width=2pt, %semithick,
      draw=black,%
      fill=none,%
      opacity=\opac,%
    ] ({axis cs:\cx,0}) -- ({axis cs:\cx,1}); %
  }
  \temp
}

\end{axis}
...

... e a saída é:

teste-3.png

Deixei o estilo "apenas marcas" apenas para facilitar a comparação visual das cores sobrepostas. A única coisa que me incomoda agora é um traço visível ao redor das marcas circulares, mas isso não é nada demais...

informação relacionada