我正在尝试在 PSTricks 中创建一些带有对数 y 轴的图表。我的代码如下所示:
\psset{xunit=0.5cm,yunit=2cm}
\begin{pspicture}(-0.5,-17)(8,1)
\readdata[ignoreLines=1]{\DataSDEOne}{QR2-5x5-SDE1.dat}
\psaxes[axesstyle=frame,Dx=2,ylogBase=10,Oy=-3](0,-3)(20,0)
\dataplot[plotstyle=curve,linecolor=red]{\DataSDEOne}
\end{pspicture}
数据文件如下所示:
Iteration SDE1
0 0.918238878000000000000000000000
1 0.781163156000000000000000000000
2 0.683383048000000000000000000000
3 0.671932101000000000000000000000
4 0.559252858000000000000000000000
5 0.336966991000000000000000000000
6 0.193554908000000000000000000000
7 0.120545782000000000000000000000
8 0.089903891100000000000000000000
9 0.072258718300000000000000000000
10 0.041734408600000000000000000000
11 0.023705897900000000000000000000
12 0.000000003599741840000000000000
13 0.000000000000000434642119000000
14 0.000000000000000434642119000000
数据图似乎没有使用命令给出的比例\psaxes
?另一个奇怪的行为:如果我增加到yunit
5cm,整个图形就会消失。
答案1
\psset{xunit=0.5cm,yunit=0.5cm}
\begin{pspicture}(-0.5,-18)(15,1)
\psaxes[axesstyle=frame,Dx=2,ylogBase=10,Dy=2,Oy=-18](0,-18)(15,0)
\readdata[ignoreLines=1]{\DataSDEOne}{QR2-5x5-SDE1.dat}
\pstScalePoints(1,1){}{ log }
\listplot[linecolor=red]{\DataSDEOne}
\end{pspicture}
您希望将 y 值显示为log(y)
,这就是为什么您必须使用\pstScalePoints