如何让 Gnuplot 对负数使用 "unicode minus" 符号
How to make Gnuplot use the "unicode minus" sign for negative numbers
Gnuplot 在打印负数(例如刻度标签)时使用连字符减号 (U+002D)。我想让 Gnuplot 使用 unicode 减号 (U+2212)。
通常,我依赖以下解决方法之一:
- 使用
set xtics (-0.05 "−0.05", ...)
明确设置每个刻度线的标签;
- 使用 LaTeX 驱动程序导出绘图(例如
epslatex
)并将数字括在 $$
中(例如 set format x "$%.2f$"
)。
但是,none 上面的解决方案吸引了我。有没有办法让 Gnuplot 自动使用正确的负数印刷约定?
不幸的是,我唯一能找到的 "solution" 是使用 sprintf
绘制具有格式化 x 轴值的标签,而不是使用 xtics set format x " "
:
set format x " "
plot 'data', \
'data' u 1:(0):(( >= 0 ? : sprintf('{5}%d', -))) notitle w labels offset graph 0, -0.55
你必须在 PostScript 字符代码中找到一个接近 unicode 减号的符号而不是 {5}
。
这段代码假定数据的均值为0,然后检查x值</code>是否为正<code>(test ? yes : no)
从 5.0.5 版本开始,gnuplot 有一个 set minussign
命令。设置后,也用于设置抽动标签的 gprintf
函数使用印刷减号 (U+2212) 而不是连字符:
set encoding utf8
set minussign
plot x
Gnuplot 在打印负数(例如刻度标签)时使用连字符减号 (U+002D)。我想让 Gnuplot 使用 unicode 减号 (U+2212)。
通常,我依赖以下解决方法之一:
- 使用
set xtics (-0.05 "−0.05", ...)
明确设置每个刻度线的标签; - 使用 LaTeX 驱动程序导出绘图(例如
epslatex
)并将数字括在$$
中(例如set format x "$%.2f$"
)。
但是,none 上面的解决方案吸引了我。有没有办法让 Gnuplot 自动使用正确的负数印刷约定?
不幸的是,我唯一能找到的 "solution" 是使用 sprintf
绘制具有格式化 x 轴值的标签,而不是使用 xtics set format x " "
:
set format x " "
plot 'data', \
'data' u 1:(0):(( >= 0 ? : sprintf('{5}%d', -))) notitle w labels offset graph 0, -0.55
你必须在 PostScript 字符代码中找到一个接近 unicode 减号的符号而不是 {5}
。
这段代码假定数据的均值为0,然后检查x值</code>是否为正<code>(test ? yes : no)
从 5.0.5 版本开始,gnuplot 有一个 set minussign
命令。设置后,也用于设置抽动标签的 gprintf
函数使用印刷减号 (U+2212) 而不是连字符:
set encoding utf8
set minussign
plot x