熊猫/ matplotlib:刻面条形图

怎么样

我正在制作一系列带有两个分类变量和一个数字的条形图数据。下面是我所拥有的,但是我很想做的是像facet_wrapin中那样使用分类变量之一ggplot我有一个可行的示例,但是我得到了错误的打印类型(线条而不是条形图),并且我在循环中对数据进行了子集设置-这不是最好的方法。

## first try--plain vanilla
import pandas as pd
import numpy as np
N = 100

## generate toy data
ind = np.random.choice(['a','b','c'], N)
cty = np.random.choice(['x','y','z'], N)
jobs = np.random.randint(low=1,high=250,size=N)

## prep data frame
df_city = pd.DataFrame({'industry':ind,'city':cty,'jobs':jobs})
df_city_grouped = df_city.groupby(['city','industry']).jobs.sum().unstack()
df_city_grouped.plot(kind='bar',stacked=True,figsize=(9, 6))

这给出了这样的内容:

  city industry  jobs
0    z        b   180
1    z        c   121
2    x        a    33
3    z        a   121
4    z        c   236

第一图

但是,我想看到的是这样的:

## R code
library(plyr)
df_city<-read.csv('/home/aksel/Downloads/mockcity.csv',sep='\t')

## summarize
df_city_grouped <- ddply(df_city, .(city,industry), summarise, jobstot = sum(jobs))

## plot
ggplot(df_city_grouped, aes(x=industry, y=jobstot)) +
  geom_bar(stat='identity') +
  facet_wrap(~city)

在此处输入图片说明

我用matplotlib得到的最接近的东西是这样的:

cols =df_city.city.value_counts().shape[0]
fig, axes = plt.subplots(1, cols, figsize=(8, 8))

for x, city in enumerate(df_city.city.value_counts().index.values):
    data = df_city[(df_city['city'] == city)]
    data = data.groupby(['industry']).jobs.sum()
    axes[x].plot(data)

在此处输入图片说明

有两个问题:

  1. 我可以使用AxesSubplot对象绘制条形图(它们的绘制线如此处所示),并最终得到ggplot示例中facet_wrap示例中的内容吗
  2. 在生成诸如此类尝试之类的图表的循环中,我对每个数据进行了子集处理。我无法想象这是进行这种刻面的“正确”方法吗?
菲利亚

此处的第二个示例:http : //pandas-docs.github.io/pandas-docs-travis/visualization.html#bar-plots

无论如何,您始终可以像手动操作那样手动进行操作。

编辑:顺便说一句,您始终可以在python中使用rpy2,因此您可以执行与R中相同的所有操作。

另外,请查看以下内容:http : //pandas.pydata.org/pandas-docs/stable/rplot.html我不确定,但它可能有助于在许多面板上创建图,尽管可能需要进一步阅读。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫/ matplotlib条形图,其颜色由列定义

来自分类Dev

熊猫/ matplotlib中的堆叠式交错水平条形图

来自分类Dev

熊猫,条形图注释

来自分类Dev

熊猫条形图发行

来自分类Dev

熊猫堆积的条形图

来自分类Dev

熊猫图浮动条形图

来自分类Dev

熊猫:带相邻条形图的堆积条形图

来自分类Dev

matplotlib轴条形图由于从熊猫df索引x轴而无法将条形图彼此相邻绘制

来自分类Dev

使用matplotlib条形图在熊猫MultiIndex数据框上仅堆叠条形之一

来自分类Dev

熊猫数据框的多个条形图

来自分类Dev

熊猫-绘制堆积的条形图

来自分类Dev

熊猫:条形图xtick频率

来自分类Dev

如何绘制熊猫系列的条形图?

来自分类Dev

基于每年熊猫总数的条形图

来自分类Dev

熊猫df的按图分组的条形图

来自分类Dev

熊猫复杂堆积条形图

来自分类Dev

在熊猫中创建堆叠的条形图

来自分类Dev

熊猫,分层标记条形图

来自分类Dev

熊猫-绘制堆积的条形图

来自分类Dev

如何绘制熊猫系列的条形图?

来自分类Dev

绘制条形图比较熊猫的年份

来自分类Dev

熊猫堆积条形图问题

来自分类Dev

熊猫matplotlib绘图,条形图和折线图之间的时间序列标签不规则

来自分类Dev

带有熊猫和matplotlib的条形图顶部的平均线

来自分类Dev

使用熊猫和Matplotlib将具有自定义DateTime索引的条形图分组

来自分类Dev

使用matplotlib绘制堆积的条形图,保持使用python时熊猫数据框的顺序

来自分类Dev

熊猫条形图-按列指定条形颜色

来自分类Dev

熊猫图(条形图)非数值数据

来自分类Dev

熊猫条形图,如何注释分组的水平条形图