Python groupby matplotlib的标签不正确

Python groupby matplotlib的标签不正确,python,pandas,matplotlib,label,Python,Pandas,Matplotlib,Label,我有一个绘图,我想更正绘图线的标签: import pandas as pd import matplotlib.pyplot as plt %matplotlib inline df = pd.read_csv('example.csv', parse_dates=['Date'],sep=';', dayfirst=True) print(df) 如何在车上显示正确的标签?是否可以在不循环的情况下进行绘图,如ggplotface wrap function do?您可以尝试此功能

我有一个绘图,我想更正绘图线的标签:

import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

df = pd.read_csv('example.csv', parse_dates=['Date'],sep=';', 
dayfirst=True)
print(df)

如何在车上显示正确的标签?是否可以在不循环的情况下进行绘图,如
ggplot
face wrap function do?

您可以尝试此功能

for ix, cars in enumerate(car):
    for l,g in df[df['Car'] == cars].groupby('Combustible'):
        g.plot(x='Date', label=l,
                                  y='Cost', ax = ax[ix],
                                  title="Cars: "+ cars, figsize=(10,8),
                                 )

或者,您可以使用seaborn并使用
hue
功能

import seaborn as sns

for ix, cars in enumerate(car):
    p = sns.pointplot(x='Date',y='Cost',data=df[df['Car'] == cars], hue='Combustible', ax=ax[ix], figsize=(10,8))
    p.set_title('Cars: ' + cars)

使用FactoryPlot seaborn代码更简单:

sns.factorplot(x='Date', y = 'Cost', data=df, hue='Combustible', col="Car")

然而,表演太糟糕了!我有一个85000行的数据框,我的计算机无法绘制它

我想我找到了最好最简单的方法:

g = sns.FacetGrid(df, row="Car", hue="Combustible", size=12)
g = g.map(plt.plot, "Date", "Cost")

非常感谢你,亚历克斯!我试着只画一个循环。对于这个例子,我有一个R代码,ggplot比matplotlib更容易“颜色”和“镶嵌面包裹”是很好的绘图功能。matplotlib中没有等价物吗?当然,python中的matplotlib或ggplot都没有类似于facet_wrap的东西。
g = sns.FacetGrid(df, row="Car", hue="Combustible", size=12)
g = g.map(plt.plot, "Date", "Cost")