如何在特定列上绘制绘图

2024-04-24 21:17:17 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有测向头()显示在下面。我想显示工资随时间的变化跨度.As你可以看到,这些团队将在几年内不断重复,其想法是 显示他们的工资是如何变化的时间到了。所以呢对于teamID='ATL'我将有一个从1985年开始一直到现在的图表。 我想我需要根据团队ID选择团队,并有x轴显示时间(年)和Y轴显示年份。我不知道如何在熊猫身上以及在我的数据框架中为每个团队做到这一点。你知道吗

   teamID yearID lgID payroll_total franchID    Rank    W       G        win_percentage
0   ATL   1985   NL   14807000.0    ATL         5       66      162      40.740741
1   BAL   1985   AL   11560712.0    BAL         4       83      161      51.552795
2   BOS   1985   AL   10897560.0    BOS         5       81      163      49.693252
3   CAL   1985   AL   14427894.0    ANA         2       90      162      55.555556
4   CHA   1985   AL   9846178.0     CHW         3       85      163      52.147239
5   ATL   1986   NL   17800000.0    ATL         4       55      181      41.000000 

Tags: 数据框架idasnl图表时间团队
2条回答

您可以使用seaborn来实现:

import seaborn as sns

sns.lineplot(data=df, x='yearID', y='payroll_total', hue='teamID')

要获得每个团队的不同情节:

for team, d in df.groupby('teamID'):
    d.plot(x='yearID', y='payroll_total', label='team')
import pandas as pd
import matplotlib.pyplot as plt

# Display the box plots on 3 separate rows and 1 column
fig, axes = plt.subplots(nrows=3, ncols=1)

# Generate a plot for each team
df[df['teamID'] == 'ATL'].plot(ax=axes[0], x='yearID', y='payroll_total')
df[df['teamID'] == 'BAL'].plot(ax=axes[1], x='yearID', y='payroll_total')
df[df['teamID'] == 'BOS'].plot(ax=axes[2], x='yearID', y='payroll_total')  

# Display the plot
plt.show()

根据你想展示的团队数量,你应该调整

fig, axes = plt.subplots(nrows=3, ncols=1)

最后,您可以创建一个循环并为每个团队创建可视化

相关问题 更多 >