PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Solid marker bei dotted lines



Helveticus
26-12-2012, 21:53
Hallo

Ich habe einen Graphen mit drei Kurven gezeichnet. Der Code ist der folgende.


\pgfplotsset{every mark/.append style={solid}}

\begin{figure}[h]
\centering
\begin{tikzpicture}
\begin{axis}[
black, mark size=1pt,
/pgf/number format/.cd, use comma, 1000 sep={},
xlabel=$m+n+d^{2}$, xmin = 0,
ylabel={Exectuion Time~[s]}, ymin = 0,
cycle list={{black,mark=*},{densely dotted,mark=square},{black,mark=triangle*}},
every mark/.append style={solid}]
\addplot table[x=m+n,y=runtime(s)] {figures/graphs/flat-diff vs. tree-diff/tree_diff.txt};

\addplot table[x=m+n,y=runtime(s)] {figures/graphs/flat-diff vs. tree-diff/tree_diff_speedup.txt};

\addplot table[x=m+n,y=runtime(s)] {figures/graphs/flat-diff vs. tree-diff/flat_diff.txt};
\end{axis}
\end{tikzpicture}
\caption{Performance.}
\label{Perf}
\end{figure}

Das Problem ist nun, dass die zweite Kurve zwar dotted ist, allerdings die marker auch. Ich möchte die marker aber solid (schwarzes ausgefülltes Reckteck) haben.

Wie kriege ich das hin?

Feuersaenger
27-12-2012, 11:46
Hi Helveticus,

das ist ein recht nerviges Problem, ja.

Die Loesung ist, dass man "solid" an die Optionsliste der Marker dranhaengt.

Als Beispiel kann vielleicht die vorgefertigte
cycle list name=black white dienen, die ist naemlich mittels




\pgfplotscreateplotcyclelist{black white}{%
every mark/.append style={fill=gray},mark=*\\%
every mark/.append style={fill=gray},mark=square*\\%
every mark/.append style={fill=gray},mark=otimes*\\%
mark=star\\%
every mark/.append style={fill=gray},mark=diamond*\\%
densely dashed,every mark/.append style={solid,fill=gray},mark=*\\%
densely dashed,every mark/.append style={solid,fill=gray},mark=square*\\%
densely dashed,every mark/.append style={solid,fill=gray},mark=otimes*\\%
densely dashed,every mark/.append style={solid},mark=star\\%
densely dashed,every mark/.append style={solid,fill=gray},mark=diamond*\\%
}


definiert. Das \pgfplotscreateplotcyclelist ist im grunde dasselbe wie Deine Option "cycle list=...." (und akzeptiert auch Deine Syntax).

Mit liebem Gruss

Christian

Helveticus
28-12-2012, 10:42
Vielen Dank. Hat wunderbar geklappt.