如何使用matplotlib绘制散点图,每个x_tick对应一列

kmbjn2e3  于 2022-11-24  发布在  其他
关注(0)|答案(1)|浏览(113)

我有一个数据集:

a1 = [81, 42, 73, 94, 85, 66]
a2 = [63, 55, 79, 65, 94, 76]
a3 = [3, 5, 4, 8, 7, 6]

我想画一个散点图,其中x_tick是a1、a2、a3,每个y_tick是它们的得分,例如,在a1 x_tick上方有6个点。

92vpleto

92vpleto1#

根据我对这个问题的理解,这可能是一个简单的实现:

import matplotlib.pyplot as plt

a1 = [81, 42, 73, 94, 85, 66]
a2 = [63, 55, 79, 65, 94, 76]
a3 = [3, 5, 4, 8, 7, 6]

plt.scatter(x=[0]*len(a1), y=a1)
plt.scatter(x=[1]*len(a2), y=a2)
plt.scatter(x=[2]*len(a3), y=a3)

plt.xticks(ticks=[0,1,2], labels=["a1", "a2", "a3"])

plt.show()

输出如下:

如果您还希望仅在y轴上显示y值,则可以添加以下行:plt.yticks(ticks=a1+a2+a3, labels=a1+a2+a3)
但是对于彼此非常接近的y值(参见a3的值),这将变得拥挤。

相关问题