所以,我有一个这样的电台列表(字符串):
station_list=[station1, station2, station3, ..., station63]
我有一个列表,其中包含每个站点的测量值,但它们没有相同数量的度量。所以,我有这样的事情:
measure_list=[[200.0, 200.0, 200.0, 200.0, 200.0, 300.0], [400.0, 400.0, 300.0, 300.0, 300.0, 300.0, 300.0, 300.0, 300.0], [300.0, 400.0, 400.0, 400.0, 400.0], ..., [1000.0, 1000.0, 1000.0, 1000.0, 1000.0], [7000.0]]
measure_list有63"子列表",每个电台的子列表。
最后,我想创建一个图表,其中x轴上的站点和y轴上的度量值,用于比较所有站点的度量。
感谢您的帮助。 (抱歉我的英语不好;))
答案 0 :(得分:1)
我建议关注this example ...
这是对结果的改编:
import numpy as np
import matplotlib.pyplot as plt
station_list=['station1', 'station2', 'station3', 'station63']
measure_list=[
[200.0, 200.0, 200.0, 200.0, 200.0, 300.0],
[400.0, 400.0, 300.0, 300.0, 300.0, 300.0, 300.0, 300.0, 300.0],
[300.0, 400.0, 400.0, 400.0, 400.0],
[1000.0, 1000.0, 1000.0, 1000.0, 1000.0],
]
x = range(len(station_list))
assert len(station_list) == len(measure_list) == len(x)
for i, label in enumerate(station_list):
y_list = measure_list[i]
x_list = (x[i],) * len(y_list)
plt.plot(x_list, y_list, 'o')
# You can specify a rotation for the tick labels in degrees or with keywords.
plt.xticks(x, station_list, rotation='vertical')
# Pad margins so that markers don't get clipped by the axes
# plt.margins(0.2)
plt.xlim(np.min(x) - 0.5, np.max(x) + 0.5)
# Tweak spacing to prevent clipping of tick-labels
plt.subplots_adjust(bottom=0.15)
plt.show()
给出了: