
また私です:)
を使ってプロットを作成しようとしていますpgfplots
。ただし、単独のマーカーを他のマーカーと異なるようにする必要があります。たとえば、以下の例では、1970 年の 'a' のマーカーと 1990 年の 'b' のマーカーを x にし、残りはすべてボール (*) にしたいです。(色で区別する方法を教えていただければ、同じくらいうれしいです。私の言っていることを理解していただければ幸いです。) これらの単独のマーカーを変更するにはどうすればよいですか? これに関するスレッドが既にあるのに私が見つけられなかった場合は、お知らせください。
私の例は次のとおりです:
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[width=\textwidth, xlabel = year,%\,/\,Tsd. Tonnen,
xmin = 1965, xmax = 2015,
xtick={1960, 1970, 1980, 1990, 2000, 2010},
x tick label style={/pgf/number format/1000 sep=},
ylabel = example,
ymin = 1000, ymax = 5000,
y tick label style={/pgf/number format/1000 sep=},]
\addplot
coordinates {
(1960, 1650)
(1970, 2550)
(1980, 4050)
(1990, 4550)
(2000, 3550)
(2010, 3750)
};
\addplot
coordinates {
(1960, 1600)
(1970, 2500)
(1980, 4000)
(1990, 4500)
(2000, 3500)
(2010, 3700)
};
\legend{a, b}
\end{axis}
\end{tikzpicture}
\vspace*{0.4cm}
\caption[Example.]{Example.}
\end{figure}
そして、その写真は次のようになります。
前もって感謝します! :)
答え1
私はあなたがあなたの2つの機能を組み合わせたいと思っていると思ったのでその他の質問そしてこれをスタートとして使いました。
目的を達成するには、この機能を利用できますscatter/classes
。どのように機能するかについては、コード内のコメントを参照してください。
\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{
% I assume you *never* want to use the `1000 sep',
% so remove it *everywhere* with this one call
/pgf/number format/1000 sep=,
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=1965,
xmax=2015,
xlabel=year,
xtick={1960,1970,...,2010},
ymin=1000,
ymax=5000,
ylabel=example,
% -----------------------------------------------------------------
% make use of the "scatter" feature and say that the "classes" are
% given explicitly in symbolic notation
scatter,
point meta=explicit symbolic,
% define as many classes as you need and provide the style to each class
% (so the "non-default" classes can be either noticed, I changed
% also changed the marker size)
scatter/classes={
a={}, % empty argument means: use the default style
b={mark=triangle*,orange,mark size=5pt},
c={mark=x,green,mark size=5pt}
},
]
% I changed your coordinates to a table, because than the scatter
% classes are to add much easier
%
% Also I just used an empty line to "break" the connecting line
% (instead of adding a dummy coordinate with a `NaN' value)
\addplot table [x=year,y=value,meta=label] {
year value label
1960 1650 a
1970 2550 b
1980 4050 a
1990 4550 a
2000 3550 a
2010 3750 a
};
\addplot table [x=year,y=value,meta=label] {
year value label
1960 1600 a
1970 2500 a
1980 4000 a
1990 4500 c
2000 3500 a
2010 3700 a
};
% we have to adjust the legend, because in `scatter/classes' this
% works a bit different
\legend{
A, % class "a" of first `\addplot'
, % class "b" of first `\addplot' <-- you don't want to show
, % class "c" of first `\addplot' <-- you don't want to show
B, % class "a" of second `\addplot'
% , % ...
% , % ...
}
\end{axis}
\end{tikzpicture}
\end{document}