ぷそさんのプログラミング研究所

【Python】matplotlibでおしゃれグラフの作り方|棒グラフ

おしゃれなグラフはパワポとエクセルじゃなくても作れます!

今回は,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 np

matplotlibをインポートします。

グラフ全般の設定

# グラフ全般の設定
plt.rcParams['axes.axisbelow'] = True
plt.rcParams["font.size"] = 10

plt.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)で枠線を消せます。

場所」はrightlefttopbottomで設定します。

円グラフのプロット

# 棒グラフの作成
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()
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

このブログでは,PythonやLaTeXの使い方などを紹介しています!
仕事でも趣味でもプログラミングをしています。
ブログは2022年8月にスタートしました。
【経歴】東京大学大学院修了→大手IT企業勤務

コメント

コメントする

目次