gnuplot 中的一致字体?

Consistent fonts in gnuplot?

我在 gnuplot 中有以下脚本,除了一些字体问题外工作正常。

#!/usr/bin/env gnuplot

# setup
set terminal pngcairo enhanced color notransparent background rgb "white"
set output "temp.png"
lm="Latin Modern Math" 

# range 
set xrange [-3*pi/2:3*pi/2]
set yrange [-1.5:1.5]

# labels  
set xlabel "{/Symbol q} (radian)" font lm
set ylabel "sin({/Symbol q}), cos({/Symbol q})" font lm
set title "Simple Sinusoid" font lm

# plot
plot sin(x) with lines linecolor rgb "red" title "sine", 0  title ''
set output

如您所见:

  1. 用于 theta 符号的字体与文本不一致 'sin' 和 'radian' 在轴上。
  2. 图例中出现的'sine'也以不同的字体呈现。 我尝试在 title 之后使用 font 命令,但它不起作用

有什么想法吗?谢谢!

编辑 我想使用“拉丁现代”的原因是因为一致性 与文档的其余部分(将包含在其中)使用相同的字体。

您可能正在寻找 set key font lm。此外,gnuplot 应该能够理解 utf-8,因此您可以直接将 θ 放在标签中。由于我没有'Latin Modern Math',所以我使用了“Lucida Graphic Italic”和“Courier New”作为插图。另一种选择是在终端中指定字体,例如set terminal pngcairo font "<whatever>"。检查 help pngcairo.

代码:

### set fonts
reset session

set terminal pngcairo enhanced color notransparent background rgb "white"
set output "temp.png"
myFont = "Lucida Graphic Italic"
myFont2 = "Courier New"

# range 
set xrange [-3*pi/2:3*pi/2]
set yrange [-1.5:1.5]

# labels  
set title "Simple Sinusoid" font myFont
set xlabel "θ (radian)" font myFont
set xtics font myFont2
set ylabel "sin(θ), cos(θ)" font myFont
set ytics font myFont2

set key font myFont

# plot
plot sin(x) with lines linecolor rgb "red" title "sine", 0  title ''
set output
### end of code

结果: