如何在 PSTricks 中创建具有对数 y 轴的数据图?

如何在 PSTricks 中创建具有对数 y 轴的数据图?

我正在尝试在 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?另一个奇怪的行为:如果我增加到yunit5cm,整个图形就会消失。

我想创建一张这样的图片

答案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

相关内容