我有以下文件(frequency.txt),其中我存储了文件中字母的频率:
a 1619 1029
c 1023 299
b 208 55
e 2238 694
d 737 128
g 230 42
f 191 93
i 2064 716
h 91 8
我想用这些值制作一个图,但我希望文件第一列中出现的字母代表图中x轴上出现的值。我尝试像这样更改xtics
:
set xtics ('a' 1,'c' 2,'b' 3,'e' 4,'d' 5,'g' 6,'f' 7,'i' 8, 'h' 9)
但这似乎很乏味,我相信必须有更好的方法来做到这一点。
以下是制作图表的完整代码:
set size 1.0 , 0.6
set terminal postscript portrait enhanced color dashed lw 1 "Helvetica" 14
set output "comparison_percentages.eps"
set autoscale
set xtics ('a' 1,'c' 2,'b' 3,'e' 4,'d' 5,'g' 6,'f' 7,'i' 8, 'h' 9) set ytic auto
set boxwidth 10
set xlabel "Letters"
set ylabel "Percentages"
plot "frequency.txt" using 1:2 with lines t "Website", \
"frequency.txt" using 1:3 with lines t "Python"
如何更改代码,以便它还会读取文件中的第一列并使用x轴的字母?
答案 0 :(得分:3)
对于此任务,您可以使用xticlabels
语句中的using
命令(另请参阅最近的问题gnuplot arbitrary labeling x - axis):
set xlabel "Letters"
set ylabel "Percentages"
set style data lines
plot "frequency.txt" using 2:xticlabels(1) t "Website", \
"" using 3 t "Python"
结果(使用4.6.5):