如果我查看颜色条,我发现图表点的颜色是错误的!原因是什么?该点不应该是红色!(查看颜色条的比例)
这点:0.63 3745 1000000
我的代码:
\documentclass{article}
\usepackage{tikz,pgfplots} %Für die Darstellung
\begin{document}
\pgfmathdeclarefunction{lg10}{1}{ \pgfmathparse{ln(#1)/ln(10)}}
\begin{tikzpicture}
\begin{axis}[enlargelimits=0.2,set layers=standard,
mark layer=axis background,colorbar sampled,only marks,view={0}{90}, colorbar style={yticklabel=\pgfmathparse{10^\tick}\pgfmathprintnumber\pgfmathresult,samples=20}] %Drehung
\addplot[
scatter,mark=square*,only marks,
point meta=\thisrow{myvalue}
]table {
x y myvalue
0.2 100 1
0.35 2000 100
0.35 2000 100
0.63 3745 1000000
};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
您的代码只会更改颜色栏上的刻度标签。
也许你正在寻找类似的东西:
代码:
\documentclass{article}
\usepackage{pgfplots}% loads tikz too
\pgfplotsset{compat=newest}% <- added
\pgfmathdeclarefunction{lg10}{1}{ \pgfmathparse{ln(#1)/ln(10)}}
\begin{document}
\begin{tikzpicture}
\begin{axis}[enlargelimits=0.2,set layers=standard,
mark layer=axis background,colorbar sampled,only marks,
colorbar style={
yticklabel=\pgfmathparse{10^(\tick-2)}\pgfmathprintnumber{\pgfmathresult},%<- changed
scaled y ticks=manual: {$\cdot10^2$}{#1},%<- added
samples=20
}
]
\addplot[
scatter,mark=square*,only marks,
point meta=lg10(\thisrow{myvalue})%<- changed
]table {
x y myvalue
0.2 100 1
0.35 2000 100
0.63 3745 1000000
};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
你确定你正确地衡量了你的价值观吗?你的声明
\pgfmathdeclarefunction{lg10}{1}{ \pgfmathparse{ln(#1)/ln(10)}}
似乎对示例的其余部分没有任何影响(可以将其注释掉,而不会出现错误,也不会在生成的 pdf 中产生任何可见的变化)。这通常意味着您只声明了该函数,而从未使用过它。