1

gnuplot で 3 つの関数をプロットしたいのですが、そのうちの 1 つがより高いサンプリング レートを持っています。その理由は、その高いサンプリング レートでは、破線が多少圧縮されて見え、互いに区別しにくくなるためです。サンプリング レートの高い関数は実線でプロットし、他の 2 つの関数は破線でプロットする必要があります。これが実際の例です:

set term postscript dashed

set out 'test1.ps'

iu = {0.,1.}
kmax = 1.e1
lami = 1.e-2
lamf = 1.e2
lmax = lamf
tau = 5.

fun(x) = (exp(-2. * iu * x * pi * kmax) * (-1. + exp(2. * iu * x * pi * (1. + kmax)))**2 * (atan(lamf / (2. * x * pi)) - atan(lami / (2. * x * pi)))) / (2. * (-1. + exp(2. * iu * x * pi))**2 * x * pi * kmax**0 * (lamf - lami))

funSimp(x) = (2. * tau)/(4. * x**2 * pi**2 + tau**2)
funSimpler(x) = atan(lmax / (2. * x * pi)) / (2. * x * pi)

set xr [1e-4:500]
set yr [1e-6:10]

set logscale x
set logscale y

set samples 10000

plot \
fun(x) / 20.        t 'f'   w l, \
funSimp(x)          t 'fs'  w l, \
funSimpler(x) / 20. t 'fss' w l

「fs」と「fss」の破線は、凡例に表示されているものとは異なって見えます。やってみました

set samples 10000

plot \
fun(x) / 20.        t 'f'   w l

set samples 50

plot \
funSimp(x)          t 'fs'  w l ls 2, \
funSimpler(x) / 20. t 'fss' w l ls 3

しかし、最初のプロットのみがファイルに出力されるため、これはうまくいきません。replotも役に立ちませんでした。

gnuplot 4.6.5、勝利 7 64

4

2 に答える 2

0

ありがとう、追加します:私は実際にgnuplottex(http://www.ctan.org/pkg/gnuplottex)を使用しています。あなたのコメントに基づいて、ターミナルを次のように変更しました。

\begin{gnuplot}[terminal=cairolatex,terminaloptions={monochrome dashed dl 3.0 lw 1.0 rounded size 9cm,7cm}]

この選択とepstopdf事前に含まれているパッケージにより、gnuplot の図を直接作成することができpdfLaTeX、ダッシュの問題を回避することさえできます。

現時点で私ができない唯一のことは、 でできるように、出力をトリミングすることですdvips "xyz.dvi" -E

于 2014-07-28T17:13:40.497 に答える