这个问题是关于的pst-plot
,更具体地说是\pslegend
。下面的代码生成以下两个图:
其中一个图形是在没有 的情况下生成的,\pslegend
并且它似乎具有正确的边界框。包含 的图形\pslegend
似乎没有正确的边界框。
.txt
可以找到这两个数据文件在这个地址。
有人能解释一下我做了什么导致这种情况吗?我使用的是 pdfTeX,版本 3.1415926-2.4-1.40.13 (TeX Live 2012)
\readdata
从第一个到所有内容的代码\end{psgraph}
都取自 Cirkuit 的 pstricks 包装器(参见http://kde-apps.org/content/show.php/?content=107098)。Cirkuit 是一个 Qt GUI 前端,用于准备电路图 pstricks 和 TikZ 图。
我相当确定是包装器命令中的某些东西给我带来了问题,而不是 pstricks 的东西。
\documentclass{article}
\usepackage[utf8x]{inputenc}
\usepackage{multido,pst-all,graphicx,amsmath}
\pagestyle{empty}
\thispagestyle{empty}
\begin{document}
\newbox\graph
\begin{TeXtoEPS}
\readdata{\ihigh}{halfwavehighimpedanceid.txt}
\readdata{\ilow}{halfwavelowimpedanceid.txt}
% Remove this \pslegend in the correct box example...
\pslegend[rt]{\blue\rule[1ex]{2em}{1pt} & $I_D$ Lower Z\\
\red\rule[1ex]{2em}{1pt} & $I_D$ Higher Z
}
\psset{llx=-1cm,lly=-1cm, xAxisLabel={Time [ms]}, xAxisLabelPos={c,-0.3in}, yAxisLabel={Voltage [V]}, yAxisLabelPos={-0.3in,c}}
\begin{psgraph}[axesstyle=axes,xticksize=0 10,yticksize=0 50,subticks=0,Dx=10, Dy=2, Oy=0](0,0)(50,10){7cm}{5cm}
\pstScalePoints(1e3,1e0){}{}
\listplot[linecolor=blue,linewidth=2pt]{\ilow}
\listplot[linecolor=red,linewidth=2pt]{\ihigh}
\end{psgraph}
\box
\graph
\end{TeXtoEPS}
\end{document}
答案1
使用 xelatex 和最新的 TeXLive 运行它:
\documentclass{article}
\usepackage{pst-plot}
\pagestyle{empty}
\begin{document}
\readdata{\ihigh}{/tmp/halfwavehighimpedanceid.txt}
\readdata{\ilow}{/tmp/halfwavelowimpedanceid.txt}
\psset{llx=-1cm,lly=-1cm, xAxisLabel={Time [ms]},
xAxisLabelPos={c,-0.3in}, yAxisLabel={Voltage [V]},
yAxisLabelPos={-0.3in,c}}
\begin{psgraph}[axesstyle=axes,xticksize=0 10,yticksize=0 50,
subticks=0,Dx=10, Dy=2,Oy=0](0,0)(50,10){7cm}{5cm}
\pstScalePoints(1e3,1){}{}
\listplot[linecolor=blue,linewidth=2pt]{\ilow}
\listplot[linecolor=red,linewidth=2pt]{\ihigh}
\end{psgraph}
\pslegend[rt]{\blue\rule[1ex]{2em}{1pt} & $I_D$ Lower Z\\
\red\rule[1ex]{2em}{1pt} & $I_D$ Higher Z
}
\begin{psgraph}[axesstyle=axes,xticksize=0 10,yticksize=0 50,
subticks=0,Dx=10, Dy=2,Oy=0](0,0)(50,10){7cm}{5cm}
\pstScalePoints(1e3,1){}{}
\listplot[linecolor=blue,linewidth=2pt]{\ilow}
\listplot[linecolor=red,linewidth=2pt]{\ihigh}
\end{psgraph}
\end{document}