Pythonでグラフ表示 matplotlib 〜折れ線グラフ、マジックコマンド、表示範囲の制限〜

スポンサーリンク

グラフ描写ライブラリmatplotlibとは?

これまで文字や数字をどうやって扱うかを解説してきました。

そろそろ文字や数字だけの出力は飽きてきたのではないでしょうか?

やっぱり数字を扱い始めたら、やりたくなるのが、グラフ表示。

もちろんPythonを使って、グラフ表示をすることは可能で、その時に使う専用ライブラリが準備されています。

それがMatplotlibです。

折れ線グラフ、棒グラフ、散布図はもちろんのこと、2軸グラフや3Dグラフなんかも表示し、図として保存することが可能です。

今回はそんなmatplotlibの解説をしていきます。

スポンサーリンク

今回使うデータの準備

とりあえずmatplotlibを使うに当たって、グラフ表示するためのデータが必要になります。

まずはデータの作成から始めましょう。

y_value = [1, 2, 4, 8, 16, 32, 64, 128, 256, 1028]
x_value = range(1, len(y_value)+1)

print(list(x_value))
print(y_value)

実行結果
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 2, 4, 8, 16, 32, 64, 128, 256, 1028]

y軸の値として、1から順に倍々にした数を、x軸の値として、y軸の要素数から連番を作成し、リストとしています。

range関数に関しては、前に解説しましたが、1からの連番で、最後を要素数となるようにrange(1, len(y_value)+1)とし、print関数でリストとして表示したいために、list(x_value)としています。

Pythonで連番のリスト作成 range関数〜飛び飛びの連番も作れるよ!〜
連番のリスト作成の関数 range今回は連番のリストを作るための関数 range に関しての解説です。まずはどういうものかというと、0から9までの整数のリストを作りたい時、関数を使わずにやろうとすると、こうなります。...

len関数に関しては、リストで紹介していますので、良かったら、下の記事を確認してみてください。

Pythonのリスト(配列)の基本〜プログラミング初心者はまずはこれだけ〜
リストとは?今回はリストとか配列と呼ばれる仕組みに関して解説します。前に変数に関して、説明しました。その時、変数名と変数は一対一の関係でした。list1 = "Hello World"print(...

今回はこのデータを使って、折れ線グラフ表示してみましょう。

スポンサーリンク

折れ線グラフの表示

グラフを表示するためには、まずはmatplotlibのうち、pyplotをインポートします。

from matplotlib import pyplot as plt

pyplotは慣例的にpltとしてインポートするので、ここでもそれに倣って、as pltとしておきましょう。

matplotlibは色々な機能を持っていますので、少しずつ解説していきます。

とりあえず、グラフ表示するために最低限必要なのが、下のコマンドです。

plt.plot(x_value, y_value)

plt.show()

plt.plot(Xの値、Yの値)でプロットを作成し、plt.show()で表示します。

これを先ほどのインポート文とデータと組み合わせるとこんな感じになります。

グラフ表示に集中するため、リストを表示させるprint関数は省略します。

from matplotlib import pyplot as plt

y_value = [1, 2, 4, 8, 16, 32, 64, 128, 256, 1028]
x_value = range(1, len(y_value)+1)

plt.plot(x_value, y_value)

plt.show()

実行結果

折れ線グラフが表示されました。

スポンサーリンク

マジックコマンドを使ってみる

Jupyter notebookをより便利に、そして効率的に使うコマンドが存在します。

それがマジックコマンド。

matplotlibを使う時には、マジックコマンドのうち、あるコマンドを使うとより便利なグラフ表示をすることができます。

%matplotlib notebook

このコマンドを先ほどのセルに追加して、実行してみましょう。

%matplotlib notebook

from matplotlib import pyplot as plt

y_value = [1, 2, 4, 8, 16, 32, 64, 128, 256, 1028]
x_value = range(1, len(y_value)+1)

plt.plot(x_value, y_value)

plt.show()

実行結果

上下にボタンが表示されるようになりました。

上の電源ボタンは、先ほどのマジックコマンドの機能をオフにします。

下のボタンを一つずつ解説していきます。

一番左の家のマークは、「ホームに戻る」ボタンでグラフを最初の状態にリセットします。

左右の矢印ボタンはそれぞれ「戻る」「進む」です。

十字矢印のボタンは、グラフを上下左右に自由に動かすことができます。

□のボタンは、囲った領域を拡大表示します。

一番右のフロッピーマークは「保存」です。

マジックコマンドは色々あるので、またそのうちに紹介できたらなと思っています。

スポンサーリンク

表示範囲を制限してみる

マジックコマンドで拡大ができるようになりましたが、正確に範囲を限定したい時には、マウスで選択するのは困難です。

できればプログラムで、ある範囲だけ表示できるようになれば、正確なグラフ表示が可能になります。

そのためには、X軸はplt.xlim()、Y軸にはplt.ylim()という関数を用います。

%matplotlib notebook

from matplotlib import pyplot as plt

y_value = [1, 2, 4, 8, 16, 32, 64, 128, 256, 1028]
x_value = range(1, len(y_value)+1)

plt.plot(x_value, y_value)

plt.xlim(3,8)
plt.ylim(0, 200)

plt.show()

実行結果

plt.xlim(3, 8)でX軸方向を3から8までに限定しています。

またplt.ylim(0, 200)でY軸方向を0から200までに限定しています。

もちろんplt.xlim()だけ、plt.ylim()だけでも使用することができるので、1軸だけ制限したいなんてことも可能です。

今回は、matplotlibを使って、とりあえずグラフを表示するところまで解説しました。

次回は今回のデータを用い、グラフの軸の名称を表示や補助線の表示など、デコレーションに関して解説します。

Pythonでグラフ表示 matplotlib 〜タイトル、軸名、凡例の表示〜
タイトルを表示する前回、matplotlibを使って、グラフを表示する方法を解説しました。グラフは表示できたのですが、何とも味気ないグラフになっていましたよね。やはりグラフを表示したら、タイトルやX軸、Y軸...

ということで今回はこんな感じで。

コメント

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