PSTricks 和图形中的大数字

PSTricks 和图形中的大数字

我正在尝试使用 PsTricks 绘制大数字。在 Herbert Voss 的PSTricks: Graphics and PostScript for TeX and LaTeX 书(德文版,2007 年,第 4 版)中有以下代码:

\usepackage{pstricks-add}
\readdata{\data}{data.dat} \psset{xunit=0.11mm,yunit=0.00015mm}
\begin{pspicture}(-80,-30000) (1000,310000)
\psaxes[axesstyle=frame,Dx=100,dx=100,Dy=50000,dy=50000](1000,300000)
\listplot [linewidth=1pt,linecolor=black!30] {\data} %aIle
\listplot [nStep=50,linewidth=2pt,plotstyle=dots] {\data}% jeder 50.
\end{pspicture} 

使用上述内容,我制作了类似的代码:

\documentclass[12pt]{article}
\usepackage{pst-plot,pstricks-add}

\begin{document} 
\readdata{\data}{data.dat} \psset{xunit=0.11mm,yunit=0.00015mm}
\begin{pspicture}(-80,-30000) (1000,310000)
\psaxes[axesstyle=frame,Dx=100,dx=100,Dy=50000,dy=50000](1000,300000)
\listplot [linewidth=1pt,linecolor=red] {\data}
\end{pspicture}
\end{document}

内容data.dat

 0   0  
100 10000  
200 15000  
300 20000
400 50000
500 80000
600 100000
700 150000
800 160000

在编译时我收到错误消息:

! Dimension too large.
<to be read again> 
               =
l.8 \listplot
          [linewidth=1pt,linecolor=red] {\data}
? 

900 200000

我究竟做错了什么?

多谢...


更新

包含 Herbert 第二个代码的日志文件的结尾是:

(c:/texlive/2011/texmf-dist/tex/generic/multido/multido.tex
v1.42, 2010/05/14 <tvz>))
(c:/texlive/2011/texmf-dist/tex/generic/pst-plot/pst-plot.tex
 v1.34, 2011/11/07 (tvz,hv)))
No file withpstri6.aux.
)
*

答案1

标签是在 TeX 端设置的,处理如此大的数字比较困难。使用方法如下:

\documentclass[12pt]{article}
\usepackage{filecontents}
\begin{filecontents*}{data.dat}
  0   0  
100 10000  
200 15000  
300 20000
400 50000
500 80000
600 100000
700 150000
800 160000
\end{filecontents*}

\usepackage{pst-plot}

\begin{document} 
\readdata{\data}{data.dat} 

\psset{xunit=0.11mm,yunit=0.15mm,
  ylabelFactor=$\times10^3$,labelFontSize=\footnotesize,mathLabel=false}
\pstScalePoints(1,1){}{1.e3 div}
\begin{pspicture}(-80,-30) (1000,310)
\psaxes[axesstyle=frame,Dx=100,dx=100,Dy=50,dy=50,ticksize=0 4pt](1000,300)
\listplot [linewidth=1.5pt,linecolor=red] {\data}
\end{pspicture}
\end{document}

在此处输入图片描述

对 y 进行局部单位变换也是一样的(不使用\pstScalePoints

\documentclass[12pt]{article}
\usepackage{filecontents}
\begin{filecontents*}{data.dat}
  0   0  
100 10000  
200 15000  
300 20000
400 50000
500 80000
600 100000
700 150000
800 160000
\end{filecontents*}

\usepackage{pst-plot}

\begin{document} 
\readdata{\data}{data.dat} 

\psset{xunit=0.11mm,yunit=0.15mm,
  ylabelFactor=$\times10^3$,labelFontSize=\footnotesize,mathLabel=false}
\begin{pspicture}(-80,-30) (1000,310)
\psaxes[axesstyle=frame,Dx=100,dx=100,Dy=50,dy=50,ticksize=0 4pt](1000,300)
\listplot [yunit=0.001,plotstyle=values,rot=90] {\data}
\listplot [yunit=0.001,linewidth=1.5pt,linecolor=red] {\data}
\end{pspicture}
\end{document}

在此处输入图片描述

相关内容