更新:此问题已在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):
哪个好。但是,当我使用pdf或png终端时,结果如下所示:
请注意,虽然所有标签文本都应为粗体,但只有没有任何增强文字的标签才是粗体。另外,当我尝试手动指定字体(最后一行标题)时,字体是不同的(恢复为默认值?)。
在不使用postscript终端时,我应该期待这种行为吗?是否有另一种指定字体的方法(即命名方案在postscript之外是不同的)?
答案 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文件的所有文本格式。