这可能是一个简单的任务,但我是Python绘图的新手,我很难将逻辑转换为代码。我正在使用下面的代码,但我想将橙子和蓝色的线分开(不重叠)。我需要创建一个水平条形图,其中2个条形分开?
df = pd.DataFrame({'a':[1,2,3,1,2,2,2],
'b':[1,1,1,3,2,2,2]})
ax = df['a'].value_counts().plot(kind='barh', color='skyblue', width=.75, legend=True, alpha=0.8)
df['b'].value_counts().plot(kind='barh', color='orange', width=.5, alpha=1, legend=True)
2条答案
按热度按时间0x6upsns1#
1.使用
panda.DataFrame.melt
将 Dataframe 转换为长格式,然后执行以下操作之一:1.使用
pandas.DataFrame.pivot_table
对size
进行整形和聚合,然后使用pandas.DataFrame.plot
绘图1.直接使用
seaborn.countplot
绘图seaborn.countplot
dluptydi2#
试试这个: