我有一张像这样的桌子:
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
并从颜色图(例如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()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句