2013-11-20 45 views
1

我准备了一个代码来绘制脚本的csv输出。它们是列分隔值。gnuplot中的列和行名称格式

我用下面的代码来做到这一点:

#!/usr/bin/gnuplot -persist 
set datafile separator ":" 
set terminal png nocrop font small size 640,480 
set output 'mychart.png' 
set style data histograms 
set title "some graph title" 
set xlabel "some x asis name" 
set ylabel "some ya axis name" 
plot "/home/username/Desktop/test.csv" using 2:xticlabels(1) notitle 

这将成功地绘制图形。不过,我在这里有两个问题。一个在x轴上,有很大的数值,例如50000000,6000000,所以图形以5E + 9 6E + 8等指数格式显示它们。但我希望看到完整的数字。其次,在y轴上,有近20个字母数字值(某些网络参数名称),每个值至少包含25-30个字符。所以他们不会正确显示。有没有办法用较小的字体和角度来书写它们?

由于

+0

我想你交换了x和y轴,y轴显示了数字。 – Christoph

+0

我明白,看到我的答案。但在你的问题中,你写出大数字在X轴上,但你的意思是Y轴:) – Christoph

+0

这些地方是正确的。我的意思是x轴应显示名称,y轴应显示数字。没关系。但输出它不好。据我所知,它水平写入x轴名称,而不是垂直写入。看看我的图表:http://i1148.photobucket.com/albums/o569/Glockie74/mychart_zps4f75b80c.png – JavaRed

回答

0

要改变在y轴上示出的数字的格式,可使用例如

set format y '%.0f' 

的xtics的标签可以被旋转(rotate by 45),不同地对准(right),并且它们可以使用不同的字体大小(font),例如

set xtics right rotate by 45 font ',8' 

另请参阅rotating and justifying tics in gnuplot

您可能需要调整底部边框以为标签提供足够的空间,例如与

set bmargin 6 

顺便说一句:应该使用pngcairo终端(自4.4版本),其产生比png终端好得多的曲线图。

+0

完美。它只是创造了我想要的输出。字体大小存在一些小问题,但易于修复。接受并感谢。 – JavaRed