おしゃれなグラフはパワポとエクセルじゃなくても作れます!
今回は,matplotlibでおしゃれな棒グラフの作り方をご紹介します!
目次
おしゃれな棒グラフとは
今回は,おしゃれな会社資料とかでよく見る,下の画像ような棒グラフの作り方をご紹介します!

おしゃれな棒グラフの作り方
ソースコード全文
とりあえず,上の画像を出力したい!という方は,下のコードをコピペしてみてください!
下でコードの解説をしています!
コード全文はこちら
import matplotlib.pyplot as plt
import numpy as np
# グラフ全般の設定
plt.rcParams['axes.axisbelow'] = True
plt.rcParams["font.size"] = 10
x = [1, 2, 3, 4, 5, 6, 7]
y = [50, 100, 180, 200, 250, 650, 700]
label_x = ["Others","India","America", "China", "Canada", "Australia", "Japan"]
# グラフの定義
fig = plt.figure(figsize=(10, 5),dpi=300)
ax = fig.add_subplot(1,1,1)
# 枠線の削除(三方向)
fig.gca().spines['right'].set_visible(False)
fig.gca().spines['top'].set_visible(False)
fig.gca().spines['bottom'].set_visible(False)
# 棒グラフの作成
Bar = ax.barh(x,
y,
align="center",
color='#d8d8d8',
linewidth=0.1)
Bar[5].set_color('#4a85e6') # 上位1位の色変更
Bar[6].set_color('#4a85e6') # 上位2位の色変更
# ラベルの設定
plt.yticks(x,label_x)
# 軸の設定
ax.tick_params(color = "white")
ax.grid(axis='x',linestyle='--', color='#e0e0e0')
ax.set_xlim(0, 820)
#セーブ
fig.savefig("bar_designed.png", format="png", dpi=300, bbox_inches='tight')
fig.show()コード解説
モジュールのインポート
import matplotlib.pyplot as plt
import numpy as npmatplotlibをインポートします。
グラフ全般の設定
# グラフ全般の設定
plt.rcParams['axes.axisbelow'] = True
plt.rcParams["font.size"] = 10plt.rcParams['axes.axisbelow']では,棒グラフとグリッド線の前後関係を「グリッド線」が最背面になるようにします。
データの取得
x = [1, 2, 3, 4, 5, 6, 7]
y = [50, 100, 180, 200, 250, 650, 700]
label_x = ["Others","India","America", "China", "Canada", "Australia", "Japan"]データを入力します。
ここでは,データの値とラベルを各自設定します。
グラフの定義
# グラフの定義
fig = plt.figure(figsize=(10, 5),dpi=300)
ax = fig.add_subplot(1,1,1)グラフの枠線の削除
# 枠線の削除(三方向)
fig.gca().spines['right'].set_visible(False)
fig.gca().spines['top'].set_visible(False)
fig.gca().spines['bottom'].set_visible(False)おしゃれなグラフでは,枠線がないものが多いです。
これは,好みで設定をしてください。
fig.gca().spines['right'].set_visible(False)で枠線を消せます。
「場所」はright,left,top,bottomで設定します。
円グラフのプロット
# 棒グラフの作成
Bar = ax.barh(x,
y,
align="center",
color='#d8d8d8',
linewidth=0.1)
Bar[5].set_color('#4a85e6') # 上位1位の色変更
Bar[6].set_color('#4a85e6') # 上位2位の色変更通常の棒グラフと同じようにデータを設定します。横棒なのでax.barhとしています。
まずは,グレーのcolor='#d8d8d8'でプロットした後に,上位2位までの色を変更しています。
これは,各自で設定してください。
ラベルの設定
# ラベルの設定
plt.yticks(x,label_x)軸周りの設定
# 軸の設定
ax.tick_params(color = "white")
ax.grid(axis='x',linestyle='--', color='#e0e0e0')
ax.set_xlim(0, 820)ax.tick_params(color = "white")で,目盛り線を表示しないようにしています。
グリッド線はグレーの点線となるように設定しています。
グラフの保存
#セーブ
fig.savefig("bar_designed.png", format="png", dpi=300)
fig.show()

コメント