( New ) 新連載スタート!2人の会話形式でPythonを学ぶ「週末Pythonゆる講座」はこちら ▶▶

【Python】グラフ要素の設定方法(軸-凡例-ラベル-色-大きさ)

Pythonグラフに要素情報を付ける

今回はPythonのグラフに対して「」や「凡例」などの要素情報を付与する方法をご紹介します

グラフの見た目を良くしたり、必要な情報を付けることができます

matplotlibの詳細情報のイメージ

matplotlibpyplotという機能を使い、要素情報を書いていきます

まとめて書くと情報量が多く、訳が分からないと思うので一つずつ説明していきます

x = [1,2,3,4,5,6,7]
y = [2,4,8,16,32,64,128]

x_num = len(x)
def add_value_label(x_list,y_list):
    for i in range(0, x_num):
        plt.text(x_list[i],y_list[i]/2, y_list[i], ha='center', color='white') 
               #(x座標,y座標,表示するテキスト)

plt.figure(figsize=(12,4))
plt.bar(x, y, label='サンプルデータ', color='dodgerblue')
plt.title('タイトル',{'fontsize':13})
plt.xlabel('X軸のラベル',{'fontsize':13})
plt.ylabel('Y軸のラベル',{'fontsize':13})
plt.grid(axis='y')
plt.axis([0, 8, 0, 140]) #[x最小値,x最大値,y最小値,y最大値]
plt.tick_params(labelsize=13)
plt.legend()
add_value_label(x,y)

plt.show()

事前準備

グラフ作成に必要なmatplotlibと、データ処理に必要なpandasをインポートします

import matplotlib.pyplot as plt
%matplotlib inline 
import pandas as pd 

グラフ要素の設定

基本グラフの作成

主役になるグラフ作成について簡単に説明します

X軸とY軸になる2つのデータ(リスト)を用意しておき、plt.plotを利用し折れ線グラフを作成します

x = [1,2,3,4,5]
y = [2,4,8,16,32]
plt.plot(x, y)
plt.show()
matplotlibの基本グラフ

この基本的なグラフに対して「要素情報」を付けていきましょう

タイトル:title

plt.titleを利用するとグラフの上部に「タイトル」を設定することができます

x = [1,2,3,4,5]
y = [2,4,8,16,32]
plt.plot(x, y)
plt.title('タイトル') #タイトル
plt.show()
matplotlibのタイトル

※日本語が□□になってしまう場合

matplotlibの文字化け

Pythonの初期設定では日本語が文字化けしてしまいます(□□が並びます)

matplotlibの日本語バージョンをインストールしましょう

!pip install japanize-matplotlib
import japanize_matplotlib

X軸ラベル:xlabel

plt.xlabelでX軸(横軸)のラベルを設定することができます

x = [1,2,3,4,5]
y = [2,4,8,16,32]
plt.plot(x, y)
plt.xlabel('X軸のラベル') #X軸ラベル
plt.show()
matplotlibのX軸のラベル

Y軸ラベル:ylabel

plt.ylabelはY軸(縦軸)を設定することができます

x = [1,2,3,4,5]
y = [2,4,8,16,32]
plt.plot(x, y)
plt.ylabel('y軸のラベル') #Y軸ラベル
plt.show()
matplotlibのY軸のラベル

※文字サイズの設定方法

{‘fontsize’:15}を設定することでタイトルや軸ラベルの文字の大きさを変更することができます

x = [1,2,3,4,5]
y = [2,4,8,16,32]
plt.plot(x, y)
plt.title('タイトル',{'fontsize':15})     #文字サイズ
plt.xlabel('X軸のラベル',{'fontsize':15}) #文字サイズ
plt.ylabel('Y軸のラベル',{'fontsize':15}) #文字サイズ
plt.show()
matplotlibの文字の大きさ

目盛りサイズ:tick_params

plt.tick_paramsで目盛りの大きさを設定することができます

x = [1,2,3,4,5]
y = [2,4,8,16,32]
plt.plot(x, y)
plt.tick_params(labelsize=15) #目盛りサイズ
plt.show()
matplotlibの目盛りサイズの大きさ

軸の最大値-最小値:axis

plt.axisはX軸とY軸の最大値・最小値を設定することができます

何も設定しないと自動で設定されます

x = [1,2,3,4,5]
y = [2,4,8,16,32]
plt.plot(x, y)
plt.axis([0, 7, 0, 40]) #[x最小値,x最大値,y最小値,y最大値]
plt.show()
matplotlibの軸の最小値・最大値

グラフサイズ:figure

plt.figurefigsizeでグラフのサイズを変更することができます

※グラフ作成のplotの前にグラフサイズを定義する必要があるため、順番に気を付けてください

x = [1,2,3,4,5]
y = [2,4,8,16,32]
plt.figure(figsize=(12,4)) #グラフサイズ(横,縦)
plt.plot(x, y)
plt.show()
matplotlibのグラフのサイズ

色:color

plotのパラメータ内のcolorで色を設定することができます

※他の棒グラフ(bar)や散布図(scatter)でも同様のパラメータがあります

x = [1,2,3,4,5]
y = [2,4,8,16,32]
plt.plot(x,y, color='red') #色
plt.show()
matplotlibの色

色の設定に関しては「色名」を英字で記述することで設定ができます

また濃くしたい場合は「dark」、薄くしたい場合は「light」を付けましょう

matplotlibのカラーパレット

凡例:legend

plt.legendで凡例を設定することができます

グラフ作成時にパラメータで付けたlabelが凡例として表示されます

x = [1,2,3,4,5]
y = [2,4,8,16,32]
plt.plot(x,y,label='サンプルデータ')
plt.legend() #凡例
plt.show()
matplotlibの凡例

補助線:grid

plt.gridで補助線(グリッド)を設定することができます

x = [1,2,3,4,5]
y = [2,4,8,16,32]
plt.plot(x,y)
plt.grid() #補助線
plt.show()
matplotlibのグリッド

axisを「x」に設定すると縦線のみ、axisを「y」に設定すると横線のみが表示されます

x = [1,2,3,4,5]
y = [2,4,8,16,32]
plt.plot(x,y)
plt.grid(axis='y') #補助線
plt.show()
matplotlibの横グリッド

データラベル:text

plt.textを使ってデータラベルを設定することができます

「x座標、y座標、表示するテキスト」の順にfor文を使って繰り返し処理を行い、add_value_labelという関数を定義します

x_numの変数のみ変更し、以下はコピペしてください

x = [1,2,3,4,5]
y = [2,4,8,16,32]

plt.plot(x, y)

x_num = len(x)
def add_value_label(x_list,y_list):
    for i in range(0, x_num):
        plt.text(x_list[i],y_list[i], y_list[i], ha='center') 
               #(x座標,y座標,表示するテキスト)
add_value_label(x,y)

plt.show()
matplotlibのデータラベル

plt.textの「X座標、Y座標、表示するテキスト」における「Y座標」を÷2することで、グラフ内にデータラベルを表示させることができます

x = [1,2,3,4,5]
y = [2,4,8,16,32]

plt.bar(x, y)

x_num = len(x)
def add_value_label(x_list,y_list):
    for i in range(0, x_num):
        plt.text(x_list[i],y_list[i]/2, y_list[i], ha='center', color='white') 
               #(x座標,y座標,表示するテキスト)
add_value_label(x,y)

plt.show()
matplotlibのデータラベル(中央)

まとめ

今回はPythonのグラフ作成における「要素設定」の方法についてご紹介してきました

ぜひ見やすく分かりやすいグラフを作成してみてください

またSeabornでよりきれいなグラフを作れるのでご覧ください

お気に入り登録お願いします

コメントを残す

メールアドレスが公開されることはありません。