标签: matplotlib gnuplot
我有一个包含两列(x,y)的数据集,如下所示:
(x,y)
4 16 1 1 5 25 3 9 7 49 0 0 2 4
现在我想按照列1的排列顺序在gnuplot u 1:2中绘制它。基本上在x轴上,gnuplot应该先有4,然后是1,然后是5,依此类推。是否可以使用gnuplot或任何其他绘图工具?
u 1:2
答案 0 :(得分:3)
使用gnuplot,您可以将行号用作x值,并使用第一列中的值作为xtic标签:
plot 'data.txt' using 0:2:xtic(1) w lp pt 7 lw 2
答案 1 :(得分:0)
由于您还标记了matplotlib,因此这是一个制作相同图表的快速脚本。您只需要绘制y,然后将xticklabels设置为x。
matplotlib
y
xticklabels
x
import matplotlib.pyplot as plt import numpy as np x,y = np.genfromtxt('data.txt',unpack=True) plt.plot(y,'ko-') plt.gca().set_xticklabels(x) plt.show()