我有一个包含2列和20567行的文件。
执行plot videoonly.csv
会给我这个图表,其中包含遍布各处的数据点
执行后
sort -t, -k1,1 -n videoonly.csv -o videonlyxascending.csv
在终端执行
plot videonlyxascending.csv
gnuplot中的给了我这个图,具有指数形状:
执行后
sort -t, -k1,1 -n videoonly.csv -o videonlyxascendingr.csv
在终端执行
plot 'videonlyxascendingr.csv
给我这张1 / x形状的图表:
我可以从中得出的唯一结论是,gnuplot
中可以绘制的最大数据点数必须有限制。如何删除或更改此限制?我的目标是绘制所有20567套坐标。
我故意将所有的CLI都包括在内,以防我错过了这方面的内容。
编辑:按要求添加每个文件的头部:
head videoonly.csv
8998,1199.343547
7197,5617.624526
14030,718733.5968
493,35538.03271
244,3628252.788
1552634,38232.26264
11517369,3749992.891
24334184,41001712.28
10602194,32337792.97
39578,170894.6336
head videonlyxascending.csv
40,1.936762
40,10.459237
40,10.666329
40,12.175943
40,1494.510011
40,2621.55409
40,3.047611
40,3.047644
40,3.047658
head videonlyxascendingr.csv
336988948,84578448.32
242183310,181449238.6
241991847,621259555.7
218954629,75660772.89
217948201,322373455.9
202997812,166966561.1
197204299,87386448.34
193837459,155752095.2
答案 0 :(得分:1)
您将数据绘制为一系列点:从左向右移动,每个输入行绘制下一个值。
当您对它们进行排序时,将它们按不同顺序排列,您会看到该顺序的效果。但是这三个图都显示了相同的点数。
检查输入文件以查看它有多少行;我怀疑你正在策划所有这些。
如果每行或其他内容都有X和Y值,则可能需要不同的输出。你需要告诉gnuplot你想要什么。
答案 1 :(得分:1)
我认为在这种情况下有两个问题。排序gnuplot在文件中看到的列数。据我所知,当gnuplot在输入中只看到一列时,它会将其绘制为序列,并且不会更改顺序。我怀疑你没有告诉gnuplot你的输入文件是csv
。通过做:
plot '<jot 1000' #sorted list of 1000 numbers
plot '<jot -r 1000' #shuffled list of 1000 numbers
这正是你所看到的。现在考虑输入文件:
1,1
4,4
3,3
5,5
2,2
9,9
8,8
6,6
7,7
通过做:
unset key
plot 'tmp'
set datafile separator ','
plot 'tmp'
当gnuplot看到两列时(告诉它分隔符为,
后),顺序无关紧要。