使用终端pngcairo的传奇中的正负符号

时间:2014-11-04 18:07:59

标签: terminal gnuplot

我有一个gnuplot脚本,它有一个键(图例),我希望图例包含加号或减号。

我发现我可以使用\261 if I use "set encoding iso_8859_1"(参见下面的脚本),但它有点气质。如果我之前在传奇标题中有一个下划线,我只能让它工作。这没关系,因为我想使用下标工具,但我想要所有的" mag"要下标。我现在拥有它的方式,只有m是下标。我尝试使用" mag"和(mag)但都没有奏效。你知道我怎么能得到整个mag下载吗?

我已尝试删除任何不必要的脚本,但不想删除所有内容,以防它对解决此问题有用:

monitorSize=system("xrandr | awk '/\*/{sub(/x/,\",\");print $1; exit}'")
set macros
set terminal pngcairo size @monitorSize dashed enhanced
set style line 3 pt 1 ps 0.5 lt 1 lw 2 lc rgb "green"
set encoding iso_8859_1
plot path_to_data every ::1 using 1:18 w l ls 3 title 'U_mag \261 2'
set output 'test_2.png'
replot

通常情况下,我会在不同的帖子中发布不同的问题,但我认为这是相关的,所以我会在这里发布。我希望没关系。

当我从终端(在Scientific Linux上)运行脚本时,我得到了大量的gobbledygook。

然后,在命令行中,有以下字符:62; 9; c 你知道为什么会这样吗?你知道如何阻止gobbledygook被送到终点站吗?

当我在图例标题中运行没有下划线的脚本时,如下所示,我没有得到加号或减号。我仍然得到了gobbledygook,但我没有得到" 62; 9; c"在命令行。

monitorSize=system("xrandr | awk '/\*/{sub(/x/,\",\");print $1; exit}'")
set macros
set terminal pngcairo size @monitorSize dashed enhanced
set style line 3 pt 1 ps 0.5 lt 1 lw 2 lc rgb "green"
set encoding iso_8859_1
plot path_to_data every ::1 using 1:18 w l ls 3 title 'Umag \261 2'
set output 'test_1.png'
replot

我附上2个数字:第一个显示第一个脚本的输出;第二个显示第二个脚本的输出。

output from script 1

output from script 2

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

以下脚本适用于我使用4.6.5:

set terminal pngcairo size 600,200
set output 'plus-minus.png'
set encoding iso_8859_1
plot -x title "\261"

当然,您也可以使用set encoding iso_8859_1set encoding utf8直接插入字符。

plus-minus sign

您必须在实际绘制之前设置输出文件,就像我在上面的脚本中所做的那样。在你的情况下,整个png文件被打印到stdout,即打印到你的终端,只有replot重定向实际文件中的图像数据。