在Python上使用Pyplot显示绘图中的所有点



所以我是Pyplot的新手,我能够显示标准的x,y图。

现在我的问题是,我有一系列的点,形式为(时间,百分比(,但我有多个相同时间的百分比。对于距离:

x(time) y(percentage)
0:0:1   3
0:0:1   4
0:0:1   2
0:0:1   1
0:0:2   1
0:0:2   3
0:0:2   2

出于某种原因,plt.plot只为0:0:10:0:2绘制一个值,但我希望在x轴上绘制每个值,即使它们具有相同的值。

我将plt.gcf().autofmt_xdate()用于x轴

有办法做到这一点吗?

不确定这是否有帮助,因为我不确定您的数据集是否已修复,但您可以通过plt.xticks显示它,尽管您可能需要更改或修改初始数据集。

假设以下是您的代码:

data = {
'x(time)':['0:0:1a','0:0:1b','0:0:1c','0:0:1d','0:0:2e','0:0:2f','0:0:2g'],
'y(percentage)': [3,4,2,1,1,3,2]
}
print(data)
df = pd.DataFrame(data=data)
print(df)
your_label = ['0:0:1','0:0:1','0:0:c','0:0:1','0:0:2','0:0:2','0:0:2']

然后你可以使用代码绘制它:

plt.scatter(x='x(time)', y='y(percentage)', data=df)
plt.xticks(ticks=df['x(time)'], labels=your_label)
plt.show()

plt.xticks将为您的绘图生成新标签。当然,您可以使用像np.arange这样的生成器为您生成标签,但这将取决于您的初始数据集是否可以首先进行修改。

我也期待着其他人的答复。

最新更新