Python 使用多个图例项生成单独的线图
我已经生成了以下数据框(这里显示的是一个小子集),并希望为每个区域生成一个单独的线图,每个图都有多个图例项(“绿色”、“红色”和“棕色”来自Cat列)。x轴将使用“日期”和y轴“Val” 我对Python/Pandas比较陌生,已经尝试解决这个问题好几天了,但都没有成功。有人对如何遍历区域和对Cat列中的值进行分组有什么想法吗?许多人对此提出了类似的问题,但在对第二列的值进行分组之前,他们不需要为一列(例如分区)生成单独的绘图Python 使用多个图例项生成单独的线图,python,pandas,matplotlib,Python,Pandas,Matplotlib,我已经生成了以下数据框(这里显示的是一个小子集),并希望为每个区域生成一个单独的线图,每个图都有多个图例项(“绿色”、“红色”和“棕色”来自Cat列)。x轴将使用“日期”和y轴“Val” 我对Python/Pandas比较陌生,已经尝试解决这个问题好几天了,但都没有成功。有人对如何遍历区域和对Cat列中的值进行分组有什么想法吗?许多人对此提出了类似的问题,但在对第二列的值进行分组之前,他们不需要为一列(例如分区)生成单独的绘图 Zone Cat Date Val A gre
Zone Cat Date Val
A green 198711 44
A red 198711 47
A brown 198711 40
A green 198808 52
A red 198808 53
A brown 198808 49
A green 199002 57
A red 199002 59
A brown 199002 53
B red 198711 46
B green 198711 43
B brown 198711 45
B red 198808 48
B green 198808 48
B brown 198808 51
B red 199002 50
B green 199002 49
B brown 199002 51
一种方法是使用
Cat
列
df.groupby('Cat`).plot(x='Date', y='Val')
我不太确定你想要什么样的情节,但这就是想法
更新: 我想我现在更明白了。您需要分区的不同绘图,以及类别的这些绘图上的不同图形 您只需遍历
区域
,然后像上面那样使用groupby
for zone in set(df['Zone']):
df[df['Zone']==zone].groupby('Cat`).plot(x='Date', y='Val')
使用seaborn
import seaborn as sns
sns.factorplot(x="Date", y="Val", hue="Cat", col="Zone", data=df)
更新“保存一系列单个工厂批次”:
for zone in df.Zone.unique():
fig = sns.factorplot(x="Date", y="Val", hue="Cat", col="Zone", data=df[df.Zone==zone])
fig.savefig("zone_{0}.png".format(zone))
你在找3个单独的条形图吗?对不起,我误用了“绘图”这个词。为了澄清,我想为每个区域生成单独的图,每个图都有三个线图(“红色”、“绿色”和“棕色”),来自Cat。哈哈,我不确定哪个词表示哪个…:我想你想要3个正方形[]每只猫有一条线?我想这就是我给出的第二个代码所做的…不,我在寻找Lambda使用Seaborn FactoryPlot演示的输出类型。Factorplot对于一些区域来说是不错的,但是我的数据集有100多个。我正试图找到一种方法来输出每个图形——一旦我能得到生成图形的基本代码。谢谢,这用最少的代码就可以完成这项工作。看看是否可以扩展代码以保存一系列单独的factorplot,这会很有趣。