Zel*_*ong 5 python plot matplotlib histogram pandas
我有一张像:
value type
10 0
12 1
13 1
14 2
Run Code Online (Sandbox Code Playgroud)
生成虚拟数据:
import numpy as np
value = np.random.randint(1, 20, 10)
type = np.random.choice([0, 1, 2], 10)
Run Code Online (Sandbox Code Playgroud)
我想用 matplotlib (v1.4) 在 Python 3 中完成一项任务:
valuetype,即使用不同的颜色来区分类型identity用于垃圾箱,即垃圾箱的宽度为 1该问题是:
type颜色图(例如Accent或 matplotlib 中的其他 cmap)的值和绘制颜色为条形分配颜色?我不想使用命名颜色(即'b', 'k', 'r')笔记
pandas.plot两个小时,但未能获得所需的直方图。matplotlib.pyplot,而无需导入一堆模块,例如matplotlib.cm, matplotlib.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()
Run Code Online (Sandbox Code Playgroud)
