我有一个元组列表,这些元组是 (minTemp
, averageTemp
, maxTemp
)。
我想在同一个 matplotlib 图上绘制元组中每个元素的折线图。
如何做到这一点?
最佳答案
要分别获取最低、平均和最高温度的数组,zip 函数很好 as you can see here .
from pylab import plot, title, xlabel, ylabel, savefig, legend, array
values = [(3, 4, 5), (7, 8, 9), (2, 3, 4)]
days = array([24, 25, 26])
for temp in zip(*values):
plot(days, array(temp))
title('Temperature at december')
xlabel('Days of december')
ylabel('Temperature')
legend(['min', 'avg', 'max'], loc='lower center')
savefig("temperature_at_christmas.pdf")
您也可以从 numpy 和 matplotlib 模块导入这些函数,并且可以按如下方式更改布局(示例中的颜色):
from matplotlib.pyplot import plot, title, xlabel, ylabel, savefig, legend
from numpy import array
values = [(3, 4, 5), (5, 8, 9), (2, 3, 5), (3, 5, 6)]
days = array([24, 25, 26, 27])
min_temp, avg_temp, max_temp = zip(*values)
temperature_with_colors_and_labels = (
(min_temp, 'green', 'min'),
(avg_temp, 'grey', 'avg'),
(max_temp, 'orange', 'max'),
)
for temp, color, label in temperature_with_colors_and_labels:
plot(days, array(temp), color=color, label=label)
title('Temperature at december (last decade)')
xlabel('Days of december')
ylabel('Temperature (Celsius)')
legend()
savefig("temperature_at_christmas.png")
您可以在 matplotlib documentation 上找到 plot 函数的关键字参数或者在函数的文档字符串中。
关于python - 如何使用 matplotlib 绘制元组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27679354/