matplotlib의 막대 그래프에 누적 비율 추가
5992 단어 seaborn파이썬matplotlib시각화통계학
matplotlib
그래프에 누적 비율을 추가하는 시리즈. 막대 그래프에 누적 비율을 추가. 완성 플롯은 이쪽가리키면,
matplotlib.bar()
는 bar
라고 이름을 치는 것에 비해 범주형 변수를 그대로 지정할 수 없기 때문에, x축의 어디에 플롯할까 가르쳐 줄 필요가 있다. 구체적으로는, numpy.arange()
등으로 카테고리의 수만큼 연속번호·인덱스를 생성해 x축의 장소를 가르쳐 주고 있다."""maptlolibの棒グラフに累積比率を追加する例"""
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
# seabornスタイルでかっこよくプロットする
# % matplotlib inline
sns.set(style="darkgrid", palette="muted", color_codes=True)
# トイデータ生成
df = pd.DataFrame({'group': ['A', 'B', 'C', 'D', 'E'],
'value': [20, 30, 10, 50, 40]})
# x軸のプロット位置を指定
# 勝手にやってくれないから生成する必要あり。
x_idx = np.arange(df.shape[0])
# プロット用のfigとaxを取得
fig, ax = plt.subplots()
# 棒グラフを追加(第1軸)
bar = ax.bar(left=x_idx,
height=df['value'],
align='center',
tick_label=df['group'],
alpha=0.7
)
# 第2軸用の累積比率を計算
df['accumulative_ratio'] = df['value'].cumsum() / df['value'].sum()
# 第2軸に累積の折れ線グラフを追加
ax2 = ax.twinx()
line = ax2.plot(x_idx,
df['accumulative_ratio'],
ls='--',
marker='o',
color='r'
)
ax2.grid(visible=False)
plt.show()
범례 등 추가한 완성판의 코드는 Gist 에 줍니다.
Reference
이 문제에 관하여(matplotlib의 막대 그래프에 누적 비율 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/messefor/items/aa2fc73e3046cc63de72텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)