Gnuplot,CSV,仅不同的标签?
我需要一些关于使用gnuplot处理CSV文件的帮助。 我的CSV文件看起来像:Gnuplot,CSV,仅不同的标签?,gnuplot,Gnuplot,我需要一些关于使用gnuplot处理CSV文件的帮助。 我的CSV文件看起来像: a,1002 b,612 b,893 b,361 b,932 b,483 b,899 b,614 c,722 d,1038 d,1580 我希望它使用第二列作为Y值,行号作为X值。这很容易做到 我设法将第一列作为xtics标签,但在谷歌搜索了数小时后,我没有找到一个解决方案来告诉gnuplot只打印一次标签(我的x轴上塞满了标签,无法读取) 我需要像这样的东西: . . b .a ***** c .**
a,1002
b,612
b,893
b,361
b,932
b,483
b,899
b,614
c,722
d,1038
d,1580
我希望它使用第二列作为Y值,行号作为X值。这很容易做到
我设法将第一列作为xtics标签,但在谷歌搜索了数小时后,我没有找到一个解决方案来告诉gnuplot只打印一次标签(我的x轴上塞满了标签,无法读取)
我需要像这样的东西:
.
. b
.a ***** c
.** *** d ****
. ************
........................
但我明白了:
.
.
. *****
.** *** ****
. ************
........................
sdflksdjflksdjflksdjflkadjflksjdflkasj
轴上或曲线上的标签也可以,这无关紧要。要设置非周期性的XTIC,请使用
set xtics ("a" 1, "b" 2, "c" 9, "d" 10)
您可以通过一个简单的脚本从数据中提取信息,例如
cut -f1 -d, data | while read name ; do
let line++
if [[ $name != $oldname ]] ; then
oldname=$name
echo "'$name'" $line
fi
done
一些进一步的建议:
set pointsize 2.5
set xtics ("a" 1, "b" 5, "c" 9, "d" 10.5)
set xrange [0:12]
plot "< cat -n aa.csv | sed -e 's/,/ /g'" using 1:3 pt 7 notitle
然后将标签放置在上述任何类别(a,…,d)中的最高值之上。(+1)很好,您提供了一种解决方案,可以避免手动计算标签坐标。
set format x ""