如何在matplotlib中按不同组绘制直方图?

泽龙

我有一张像这样的桌子:

value    type
10       0
12       1
13       1
14       2

生成虚拟数据:

import numpy as np

value = np.random.randint(1, 20, 10)
type = np.random.choice([0, 1, 2], 10)

我想使用matplotlib(v1.4)在Python 3中完成一项任务:

  • 绘制一个直方图 value
  • 分组依据type,即使用不同的颜色来区分类型
  • “横杠”的位置应为“躲避”,即并排
  • 因为值的范围很小,所以我将使用identity垃圾箱,即垃圾箱的宽度为1

问题是:

  • 如何根据的值将颜色分配给条type并从颜色图(例如Accentmatplotlib中的其他cmap)绘制颜色我不想使用命名颜色(即'b', 'k', 'r'
  • 我的直方图中的条形图相互重叠,如何“躲避”这些条形图?

注意(该职位将被否决,并被视为“天真”)

  1. 我已经尝试了Seaborn,matplotlib和pandas.plot两个小时,但未能获得所需的直方图。
  2. 我阅读了matplotlib的示例和用户指南。令人惊讶的是,我没有找到有关如何从颜色图分配颜色的教程。
  3. 我在Google上进行了搜索,但找不到一个简洁的示例。
  4. 我想一个能完成该任务matplotlib.pyplot,而无需进口一堆模块,如matplotlib.cmmatplotlib.colors
马克西姆

对于第一个问题,我们可以创建一个等于1的虚拟列,然后通过将该列求和并按值和类型分组来生成计数。

对于第二个问题,您可以plot使用colormap参数直接将颜色图传递给

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import seaborn
seaborn.set() #make the plots look pretty

df = pd.DataFrame({'value': value, 'type': type})
df['dummy'] = 1
ag = df.groupby(['value','type']).sum().unstack()
ag.columns = ag.columns.droplevel()

ag.plot(kind = 'bar', colormap = cm.Accent, width = 1)
plt.show()

在此处输入图片说明

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当数据在元组中时,如何在matplotlib中绘制直方图?

如何在python中的matplotlib中绘制直方图?

如何在matplotlib中并排绘制堆叠的直方图?

如何在matplotlib中绘制上下颠倒的直方图?

如何在R中绘制不同颜色的直方图

如何使用Matplotlib按DataFrame列的顺序绘制直方图网格?

如何在python中绘制直方图?

如何在 R 中绘制流式直方图?

如何在R中绘制直方图?

如何在python中绘制组合的直方图?

如何在熊猫中绘制堆积的直方图

如何在R中的不同组上运行for循环

如何在Stata中执行每行不同组的操作

如何在 MySQL 中找到不同组中的重复对

如何在直方图中绘制字典中的键和值

如何在python中绘制高斯形状的直方图?

我如何在 R 中绘制这个直方图

如何在 R 中绘制直方图和饼图?

如何在Kibana中绘制基于非时间的直方图?

如何在python中的2个变量之间绘制直方图

如何在NetLogo中在直方图上绘制分布曲线?

如何在联邦Tensorflow中绘制增量重量的直方图摘要?

如何在R中绘制组直方图并添加趋势线?

如何在matplotlib中按比例放大/缩小xlabel / ylabel中绘制的箭头?

如何使用 ggplot2 在 R 中绘制包含不同组的条形图?

如何从组中绘制直方图?

在 r 中按季度绘制具有不同值和类别的数据框作为直方图

在Matplotlib中从预先计算的数据绘制直方图

根据pandas / matplotlib中的类绘制直方图