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")