我知道如何使用pscustom
来填充两条曲线之间的区域,但是我怎样才能仅填充用.dat 文件绘制的曲线部分下方的矩形?
我所做的是生成两个 .dat 文件,一个带有我的曲线,另一个带有 x 轴上的一条线,我称之为groundData
。
\readdata{\data}{data.dat}
\readdata{\groundData}{groundData.dat}
\pscustom[fillstyle=solid,fillcolor=blue,linestyle=none]{
\listplot[plotNo=2,plotNoMax=6]{\data}
\listplot[ChangeOrder]{\groundData}}
}
由于data.dat
文件包含多条曲线的信息,因此plotNo
和plotNoMax
选项有助于选择正确的曲线。当我这样做时,我得到的不是曲线部分(x 轴上线段上方的部分)下方的矩形,而是两个顶点相接的三角形,就好像的最后一个点data.dat
连接到的第一个点一样groundData.dat
。该changeorder
选项应该可以解决这个问题,但它似乎与没有它一样有效果。
你能帮助我吗?谢谢。
答案1
您可以使用一些\listplot
参数:
\listfiles
\documentclass{article}
\usepackage{pst-plot}
\begin{document}
\readdata\data{data.data}
\psset{xunit=12.5cm,yunit=0.2mm}
\begin{pspicture}(-0.080,-30)(1,270)
\pstScalePoints(1,1){1000 div}{1000 div}
\psaxes[Dx=200,dx=2.5cm,Dy=100,ticksize=0 5pt,tickstyle=inner,
subticks=10,ylabelFactor=\cdot10^3,dy=2cm](0,0)(1,250)
\pscustom[fillstyle=solid,fillcolor=blue,opacity=0.4,linestyle=none,linecap=2]{%
\psline(0.2,0)(0.2,10)% 10 is only a guess
\listplot[xStart=200,xEnd=800]{\data}
\psline(0.8,10)(0.8,0)
}
\listplot[linewidth=1pt,linecolor=blue]{\data}
\end{pspicture}
\end{document}
从linecap=2
(0.2,10) 到数据值画一条直线。右侧从数据端到 (0.8,10) 也画一条直线
数据文件是 TeX 安装的一部分。它使用 0..994 作为 x 值,0..256500 作为 y 值。应简单地将其应用于您的数据区域。