gpt4 book ai didi

python - 在python中为3个变量绘制折线图

转载 作者:行者123 更新时间:2023-12-03 23:02:10 26 4
gpt4 key购买 nike

Country Month   GDPA
USA January 5
USA February 10
USA March 5
Canada January 7
Canada February 4
Canada March 10
Mexico January 9
Mexico February 17
Mexico March 8
以上是我的数据框。
我想制作df的折线图。其中 x 轴是变量 Month。 y 轴是 GDPA。
每个国家/地区有 3 条单独的线路。最好只使用 matplotlib。
plt.plot(df[‘Country’], df[‘GDPA’], df[‘Month’]
我上面的代码没有产生预期的图形,因为这些线是相连的,它甚至没有考虑 GDPA 值。
我想要它以便
x轴为:一月二月三月
y 轴是 GDPA 值。
并且有 3 行(每个国家/地区)
enter image description here

最佳答案

这可能不是尽可能优雅,但一个低级的方法是基本上只制作一组国家(所以你没有重复),然后循环该组并为每个国家绘制一条线。

import matplotlib.pyplot as plt
import pandas

d = {'Country': ['USA', 'USA', 'USA', 'Canada', 'Canada', 'Canada', 'Mexico', 'Mexico', 'Mexico'],
'Month': ['January', 'February', 'March', 'January', 'February', 'March', 'January', 'February', 'March'],
'GDPA': [5, 10, 5, 7, 4, 10, 9, 17, 8]}
df = pandas.DataFrame(data=d)
print(df)

country_set = set(df['Country'])

plt.figure()
for country in country_set:
selected_data = df.loc[df['Country'] == country]
plt.plot(selected_data['Month'], selected_data['GDPA'], label=country)

plt.legend()
plt.show()
Resulting plot here
纯python和matplotlib!

关于python - 在python中为3个变量绘制折线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64949449/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com