鉴于此,我有x和y的数组,因此能够绘制简单的点,就像这样:
a = np.arange(10).reshape(5, 2)
plt.scatter(a.T[0], a.T[1])
plt.xlabel("Interval")
plt.ylabel("Value")
plt.show()
但是目前,我有一个大小不一的列表列表,像这样:
a = [
[0, 1, 3],
[4, 2],
[1, 4, 7, 2],
[2],
[3, 4, 5, 6]
]
plt.scatter(a, list(range(len(a))))
plt.xlabel("Interval")
plt.ylabel("Value")
plt.show()
但是,这产生了一个错误:用一个序列设置数组元素,当尺寸不固定且尺寸不相等时,肯定会这样做((dimen)x!=(dimen)y),但是我是看得到这样的东西:
我如何获得这种情节?
答案 0 :(得分:3)
答案 1 :(得分:1)
您快要接近了。您可以使用单个循环如下绘制各个列表。 lst
一次将成为一个子列表,并且
[i]*len(lst)
将为该子列表生成x数据点的数量。
for i, lst in enumerate(a):
plt.scatter([i]*len(lst), lst, color='r')
plt.xlabel("Interval")
plt.ylabel("Value")
https://www.elastic.co/guide/en/elasticsearch/reference/6.4/indices-templates.html