如何控制gnuplot中的覆盖线长度?
我正在gnuplot中绘制一个图形,我需要在y轴标签上画一个条形图,表示流体中的轴向应力。我正在对y轴标签使用以下命令。 设置ylabel“~{/Symbol r}u'u'}{0.8-}/{/Symbol t}u w”如何控制gnuplot中的覆盖线长度?,gnuplot,Gnuplot,我正在gnuplot中绘制一个图形,我需要在y轴标签上画一个条形图,表示流体中的轴向应力。我正在对y轴标签使用以下命令。 设置ylabel“~{/Symbol r}u'u'}{0.8-}/{/Symbol t}u w” 现在,即使我使用em-dash,条的长度太小,不能覆盖整个分子。这里的条表示平均值,所以我需要足够长的长度来覆盖整个分子。我更喜欢png输出,但我对eps、pdf等持开放态度。以下内容不太好,但可能足够了。。。 这取决于字体和终端是否会得到一条连续的线。对我来说,它适用于终端pn
现在,即使我使用em-dash,条的长度太小,不能覆盖整个分子。这里的条表示平均值,所以我需要足够长的长度来覆盖整个分子。我更喜欢png输出,但我对eps、pdf等持开放态度。以下内容不太好,但可能足够了。。。 这取决于字体和终端是否会得到一条连续的线。对我来说,它适用于终端
pngcairo
,但不适用于png
(错误:gdImageStringFT:打印带有字体符号的字符串r时未找到字符集)pdfcairo
将给出不同的结果,其他终端可能也会给出不同的结果
代码:
### overprint
reset session
set term pngcairo
set output "SO_9.png"
set label 1 at graph 0.3,0.9 font ",20"
set label 1 "~{/Symbol r }{.8—}~{ u' }{.8—}~{ u' }{.8—} / {/Symbol t}_w"
set label 2 at graph 0.3,0.7 font "Serif,20"
set label 2 "~{/Symbol r }{.8—}~{ u' }{.8—}~{ u' }{.8—} / {/Symbol t}_w"
set label 3 at graph 0.3,0.5 font "Arial,20"
set label 3 "~{/Symbol r }{.8—}~{ u' }{.8—}~{ u' }{.8—} / {/Symbol t}_w"
set label 4 at graph 0.3,0.3 font "Sans,20"
set label 4 "~{/Symbol r }{.8—}~{ u' }{.8—}~{ u' }{.8—} / {/Symbol t}_w"
plot x
set output
### end of code
结果:
### overprint
reset session
set term pngcairo
set output "SO_9.png"
set label 1 at graph 0.3,0.9 font ",20"
set label 1 "~{/Symbol r }{.8—}~{ u' }{.8—}~{ u' }{.8—} / {/Symbol t}_w"
set label 2 at graph 0.3,0.7 font "Serif,20"
set label 2 "~{/Symbol r }{.8—}~{ u' }{.8—}~{ u' }{.8—} / {/Symbol t}_w"
set label 3 at graph 0.3,0.5 font "Arial,20"
set label 3 "~{/Symbol r }{.8—}~{ u' }{.8—}~{ u' }{.8—} / {/Symbol t}_w"
set label 4 at graph 0.3,0.3 font "Sans,20"
set label 4 "~{/Symbol r }{.8—}~{ u' }{.8—}~{ u' }{.8—} / {/Symbol t}_w"
plot x
set output
### end of code
使用符号字体是处理PostScript对非ascii字符限制的历史遗留问题。除非您使用的是PostScript输出,否则应该不再需要它
现在首选的方法是使用UTF8字符编码并输入所需的序列,无需更改字体。您想要的特定效果有点棘手,因为获取扩展水平条的最简单方法是一组下划线,但下划线是一个标记字符,因此需要使用反斜杠对其进行转义,并将字符串放在单引号中,而不是双引号中。然后,因为您使用的是单引号,所以您需要使用与单引号不同的素数字符,或者转义“单引号,但实际上它是素数”
我将对通用(非LaTeX、非PostScript)gnuplot终端使用此序列:
set title '~{ρu´u´}{1.5\_\_\_\_\_} / τ_w'
plot x
这是增强的文本标记序列,用于将5个字符和5个下划线的高度提高1.5个字符。
如果您愿意使用latex终端,那么我建议使用tikz生成pdf输出。以下是等价物:
set term tikz standalone size 5in,0.5in
set output 'foo.tex'
set title '$\overline{\rho u^\prime u^\prime} / \tau_w$'
plot x
同样,最好使用单引号,而不是双引号。然后通过pdflatex foo
呈现输出。