gnuplot:改变x轴的值

时间:2014-04-04 17:15:05

标签: gnuplot

我有以下文件(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轴的字母?

1 个答案:

答案 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):

enter image description here