我有一个数据集:
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个点。
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的值),这将变得拥挤。
plt.yticks(ticks=a1+a2+a3, labels=a1+a2+a3)
a3
1条答案
按热度按时间92vpleto1#
根据我对这个问题的理解,这可能是一个简单的实现:
输出如下:
如果您还希望仅在y轴上显示y值,则可以添加以下行:
plt.yticks(ticks=a1+a2+a3, labels=a1+a2+a3)
但是对于彼此非常接近的y值(参见
a3
的值),这将变得拥挤。