[英]How to add a count of observations for each category on a barplot? Using Matplotlib
我正在使用matplotlib制作一個用於分類變量的圖,我需要為每個柱形圖( categorie
)放置觀察數。 有誰能夠幫助我? 我只找到手動放置的解決方案,但是我需要為幾個變量做相同的圖,因此我需要一些代碼來對變量上每個類別的觀測次數進行計數。 感謝你!!
這是我的代碼:
axis_x = 'Action intended to block/propose policy (block = 1)'
axis_y = 'Take up'
title = 'neighborhood attract more people'
type = 'bar'
column1 = 'g_scope'
column2 = 'take_up'
database = df
graph_mean_diff_c(column1, column2, tipo, savename, titulo, eixo_x, eixo_y, database)
像這樣的東西:
這里的代碼:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
import matplotlib.ticker as ticker
N=11
t = np.linspace(0,0.5*np.pi,N)
df = pd.DataFrame({'A':10*np.sin(t),'B':10*np.cos(t)} )
fig = plt.figure(figsize=(15,8))
ax1 = fig.add_subplot(111)
df['A'].plot(kind='barh',width=0.9, color='b', alpha=0.3)
for y, x in enumerate(df['A']):
plt.annotate(str(x)[0:5], xy=(x-0.01, y), va='center',ha='right', color='b', fontweight='bold', fontsize=16)
df['B'].plot(kind='barh',width=0.9, color='r', alpha=0.2)
for y, x in enumerate(df['B']):
plt.annotate(str(x)[0:5], xy=(x-0.01, y), va='center',ha='right', color='r', fontweight='bold', fontsize=16)
x_majorLoc = MultipleLocator(0.5); ax1.xaxis.set_major_locator(x_majorLoc)
#ax.xaxis.set_major_locator(ticker.IndexLocator(base=0.0, offset=0.1))
plt.show()
pic_name='psc_annotaed_bars.png'
fig.savefig(pic_name, transparency=True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.