gpt4 book ai didi

python - 每个 x 点有 2 个 y 点的 Matplotlib 散点图

转载 作者:太空宇宙 更新时间:2023-11-04 10:30:14 24 4
gpt4 key购买 nike

我想使用 Matplotlib 创建散点图。

我有一个 X 轴 ID 数组。它看起来像这样:

x = [1, 2, 3, ...]
#Length = 418

对于 y 轴,我有一个元组数组。它看起来像这样:

y = [(1, 1), (1, 0), (0, 0), (0, 1), ...]
#Length = 418

我想在散点图中绘制它,以便对于每个 ID(在 x 轴上)它显示一个红点表示相应元组的第一个值,一个蓝点表示相应元组的第二个值.

我试过这段代码:

plt.plot(x, y, 'o')
plt.xlim(xmin=900, xmax=1300)
plt.ylim(ymin=-1, ymax=2)
plt.yticks(np.arange(2), ('Class 0', 'Class 1'))
plt.xlabel('ID')
plt.ylabel('Class')
plt.show()

它显示了这个结果:

my_plot

如何让这个情节更清晰?

另外,当我放大时,我注意到点偏移了吗?如何将它们直接放在彼此之上?

zoomed_plot

最佳答案

我认为您需要整理数据,以便拥有扁平列表。

我认为最直观的方法是定义两个列表,y1y2 并循环遍历您的原始 y 附加正确的对他们的值(value):

y1 = []
y2 = []

for i, j in y:
y1.append(i)
y2.append(j)

然后您可以通过两次调用 plt.scatter

来绘制红色和蓝色散点图
plt.scatter(x, y1, c = 'r')
plt.scatter(x, y2, c = 'b')

希望对您有所帮助!

关于python - 每个 x 点有 2 个 y 点的 Matplotlib 散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27246058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com