Pythonのデータ解析支援ライブラリPandas 〜その19 Pandasの.plot()で出力されたグラフをいじってみる2〜

スポンサーリンク

データ解析支援ライブラリPandas

前回はデータ解析支援ライブラリPandasで出力できるグラフを色々といじる方法を解説しました。

Pythonのデータ解析支援ライブラリPandas 〜その18 Pandasの.plot()で出力されたグラフをいじってみる1〜
データ解析支援ライブラリPandas前回はデータ解析支援ライブラリPandasで出力できるグラフを紹介しました。その際、「.plot()」というコマンドを使ってグラフ表示を行いましたが、今回はこの「.plot()」...

前回はPandasの.plot()の機能を使って、グラフの体裁を整えてみました。

今回はPandasの.plot()の機能ではなく、matplotlibでグラフの体裁を整えられるか試してみましょう。

ということでまずは準備をしていきましょう。

データはランダムデータ作成プログラムで作成して、前回用いたこちらのデータを使っていきます。

Pythonでファイル数、行数、列数を指定してダミーデータのファイルを生成するプログラムを作ってみた その2:nanをランダムにもつダミーデータ作成プログラム
nanとは?今回は前に作成したダミーデータのファイルを生成するプログラムをアップデートしていきます。アップデートする方向としては「nan」という値をランダムに入れるということです。ここで疑問。「na...

データの読み込みと、基準となるグラフの出力のプログラムはこんな感じ。

import pandas as pd
from matplotlib import pyplot as plt

df = pd.read_csv("python-pandas-19_data1.txt", index_col=0)

df.plot(kind="line")

実行結果

ということで始めていきましょう。

スポンサーリンク

タイトルを表示する:plt.title(“タイトル”, fontsize=X)

タイトルを表示するには、.plot()より後の行に「plt.title(“タイトル”)」を追加することでタイトルを表示することができます。

また「fontsize=X」を追加することで、タイトルのフォントの大きさを変えることができます。

import pandas as pd
from matplotlib import pyplot as plt

df = pd.read_csv("python-pandas-19_data1.txt", index_col=0)

df.plot(kind="line")

plt.title("title", fontsize=15)

実行結果
スポンサーリンク

軸名を表示:plt.xlabel(“X軸名”)、plt.ylabel(“Y軸名”)

次はX軸名、Y軸名を追加する方法です。

X軸名を追加するにはplt.xlabel(“X軸名”)、Y軸名を追加するにはplt.ylabel(“Y軸名”)で追加できます。

またオプションに「fontsize=X」を追加することで、それぞれの軸名のフォントサイズを変更することができます。

import pandas as pd
from matplotlib import pyplot as plt

df = pd.read_csv("python-pandas-19_data1.txt", index_col=0)

df.plot(kind="line")

plt.xlabel("xlabel", fontsize=15)
plt.ylabel("ylabel", fontsize=15)

実行結果
スポンサーリンク

軸の数値のフォントサイズ変更:plt.xticks(fontsize=X)、plt.yticks(fontsize=X)

軸の数値のフォントサイズを変更するには、X軸の場合はplt.xticks(fontsize=X)、Y軸の場合はplt.yticks(fontsize=X)を追加します。

import pandas as pd
from matplotlib import pyplot as plt

df = pd.read_csv("python-pandas-19_data1.txt", index_col=0)

df.plot(kind="line")

plt.xticks(fontsize=15)
plt.yticks(fontsize=15)

実行結果
スポンサーリンク

軸の数値の角度を変更:.plt.xticks(rotation=X)、plt.yticks(rotation=X)

軸の数値の角度を変更するには、X軸の場合はplt.xticks(rotation=X)、Y軸の場合はplt.yticks(rotation=Y)とします。

import pandas as pd
from matplotlib import pyplot as plt

df = pd.read_csv("python-pandas-19_data1.txt", index_col=0)

df.plot(kind="line")

plt.xticks(rotation=45)
plt.yticks(rotation=45)

実行結果

また先ほどの軸のフォントサイズの変更と一緒に使うことも可能です。

import pandas as pd
from matplotlib import pyplot as plt

df = pd.read_csv("python-pandas-19_data1.txt", index_col=0)

df.plot(kind="line")

plt.xticks(fontsize=15, rotation=45)
plt.yticks(fontsize=15, rotation=45)

実行結果
スポンサーリンク

グリッドを表示:plt.grid()

グラフにグリッドを表示するには、plt.grid()を追加します。

import pandas as pd
from matplotlib import pyplot as plt

df = pd.read_csv("python-pandas-19_data1.txt", index_col=0)

df.plot(kind="line")

plt.grid()

実行結果
スポンサーリンク

表示範囲を変更:plt.xlim(値1, 値2)、plt.ylim(値1, 値2)

X軸方向の表示範囲を変更するにはplt.xlim(値1, 値2)、Y軸方向の表示範囲を変更するにはplt.ylim(値1, 値2)とします。

import pandas as pd
from matplotlib import pyplot as plt

df = pd.read_csv("python-pandas-19_data1.txt", index_col=0)

df.plot(kind="line")

plt.xlim(2,8)
plt.ylim(20, 80)

実行結果
スポンサーリンク

番外編:グラフサイズは変更できない?

前回、Pandasの.plot(figsize=(X, Y))でグラフのサイズを変更できると解説しました。

同じようにグラフサイズを.plot()のオプションではない形でグラフサイズを変更できないか検討してみました。

まずはグラフサイズを設定しない場合のサイズはこちら。

import pandas as pd
from matplotlib import pyplot as plt

df = pd.read_csv("python-pandas-19_data1.txt", index_col=0)

df.plot(kind="line")

実行結果

グラフサイズを設定した場合のサイズはこちら。

import pandas as pd
from matplotlib import pyplot as plt

df = pd.read_csv("python-pandas-19_data1.txt", index_col=0)

df.plot(kind="line", figsize=(8,6))

実行結果

これが違う形で再現できるのか、色々試してみた結果はこんな感じです。

import pandas as pd
from matplotlib import pyplot as plt

df = pd.read_csv("python-pandas-19_data1.txt", index_col=0)

df.plot(kind="line")
plt.figure(figsize=(8,6))

実行結果
import pandas as pd
from matplotlib import pyplot as plt

df = pd.read_csv("python-pandas-19_data1.txt", index_col=0)

df.plot(kind="line")
plt.figsize=(8,6)

実行結果
import pandas as pd
from matplotlib import pyplot as plt

df = pd.read_csv("python-pandas-19_data1.txt", index_col=0)

plt.figure(figsize=(8,6))
df.plot(kind="line")

実行結果
import pandas as pd
from matplotlib import pyplot as plt

df = pd.read_csv("python-pandas-19_data1.txt", index_col=0)

plt.figsize=(8,6)
df.plot(kind="line")

実行結果

とまぁこんな感じでグラフサイズを規定するコマンドを場所とか、書き方とか変えてみたのですが、どうしてもグラフサイズが変わらなかったわけです。

できないことをずっとやっていても仕方ないので、ここら辺にしておきましょう。

ということでグラフサイズを変えるなら「.plot(figsize=(X, Y))」とPandasの.plot()のオプションとして規定するのが間違いがないということでした。

今回のことでPandasの.plot()のオプションとして規定するほうが良い値、別途matplotlibのコマンドとして規定するほうが良い値色々とあることが分かりました。

ここら辺は使う個人が使いやすようにやればいいのかなと思います。

ではでは今回はこんな感じで。

コメント

タイトルとURLをコピーしました