如何在同一张折线图中绘制各团队全年各月份的数据?
解决团队月度数据折线图绘制问题
你的DataFrame是宽格式(月份作为列名),这种格式没法直接用来画多团队折线图,得先转成长格式,再用工具绘图,具体步骤如下:
1. 转换数据格式(宽表转长表)
用pandas的melt函数把宽格式转成适合绘图的长格式:
import pandas as pd # 假设你的DataFrame名为df df_melted = df.melt( id_vars='团队', # 固定作为分组依据的列 var_name='月份', # 把原月份列名存入这个新列 value_name='数据值' # 把原单元格数值存入这个新列 )
转换后每行对应一个团队的单月数据,结构更适合绘图工具识别分组。
2. 用Seaborn绘制折线图
import seaborn as sns import matplotlib.pyplot as plt sns.set_style("whitegrid") # 按团队分组绘制折线,hue参数区分不同团队 sns.lineplot( data=df_melted, x='月份', y='数据值', hue='团队', marker='o' # 添加数据点标记,让趋势更直观 ) # 设置图表信息 plt.title('各团队全年月度数据趋势') plt.xlabel('月份') plt.ylabel('数据值') plt.legend(title='团队') plt.show()
3. (可选)用Pandas直接绘图
如果不想用Seaborn,也可以用Pandas自带的绘图方法:
# 将团队设为索引后转置,让月份作为x轴 df.set_index('团队').T.plot(kind='line', marker='o') plt.title('各团队全年月度数据趋势') plt.xlabel('月份') plt.ylabel('数据值') plt.legend(title='团队') plt.show()
内容的提问来源于stack exchange,提问作者Maggi
相关产品推荐
相关产品推荐

