gnuplot中的粗体增强文本

时间:2013-05-07 20:51:47

标签: gnuplot postscript

更新:此问题已在gnuplot的较新版本(> 5.0)中得到解决;看@andyras的回答。


我很难让gnuplot在非postscript终端中创建带有粗体和增强文本的标签。以下脚本

#!/usr/bin/env gnuplot

reset

set terminal pdfcairo enhanced color lw 3 size 3,2 font 'Arial-Bold'
set output 'output.pdf'

set tics scale 0

plot -x title 'normal text', \
-2*x t 'enhanced_{text}', \
-3*x t '{/Arial-Bold attempt to specify_{font}}'

set terminal pngcairo enhanced color lw 3 size 400,300 font 'Arial-Bold'
set output 'output.png'
replot

set terminal postscript enhanced color lw 3 size 6,4 font 'Arial-Bold'
set output 'output.eps'
replot

reset

生成以下eps(转换为带convert output.eps -rotate 90 outputeps.png的png):

enter image description here

哪个好。但是,当我使用pdf或png终端时,结果如下所示:

enter image description here

请注意,虽然所有标签文本都应为粗体,但只有没有任何增强文字的标签才是粗体。另外,当我尝试手动指定字体(最后一行标题)时,字体是不同的(恢复为默认值?)。

在不使用postscript终端时,我应该期待这种行为吗?是否有另一种指定字体的方法(即命名方案在postscript之外是不同的)?

2 个答案:

答案 0 :(得分:5)

从5.0版开始,gnuplot有一个新语法来处理这个问题:

 "normal text {/Times:Bold boldface-newfont} {/:Italic slanted-default-font } back to normal text"]

这些括号也可以嵌套。

答案 1 :(得分:-2)

为了获得更好的pdf格式结果。

使用增强型eps终端绘制曲线。然后使用Imagemagic将输出转换为pdf格式。使用命令

转换myPlot.eps myPlot.pdf

使用此命令的默认分辨率会产生较差的输出。这可以通过使用值为300的密度选项来克服。修改后的命令看起来像

convert -density 300 myPlot.eps myPlot.pdf

我发现这保留了pdf文件中eps文件的所有文本格式。