python

【python】グラフ作成する【→プログラミング初心者向け】

9月 12, 2019

creating graph on python
プログラム学生
pythonで数式を書けるのは知ってるけど、グラフ表示ってできるんですか!?
できるよ。レンタルサーバなどのLinuxサーバの場合は、手持ちのPCにグラフを転送するために、Xウインドウの仕組みを使う必要があるけど、ここではpythonのグラフ作成の方法について説明するね。
Tommy

この記事で分かること

  • pythonでグラフを作成する方法が分かる
  • Linuxサーバーを使って計算した結果をWindowsPCに画面転送する方法が分かる

pythonでグラフ作成する概要

summary of creating graph

この記事では、pythonを使ったグラフを描く方法を説明します。

これによって、日頃の業務や作業の中である数式が分かりグラフ作成する、あるいは、グラフを描いた方が理解しやすいと言った場合があった時に、その数式データに基づいてグラフを描くことができます。

pythonでグラフ作成する前提の環境

environment of creating graph

pythonでグラフを描く(プロット)する前提の環境は、下の記事で説明している私の環境と同じ環境で確認しています。

オススメ
how to check version in python
【python】バージョン確認の方法【→プログラミング初心者向け】

続きを見る

レンタルサーバなどのLinuxサーバを使っている場合は、下の記事でプログラミングする環境の作り方を説明しています。もし、まだプログラムする環境ができていない方は、先にこちらの記事を読んで、プログラミングできる環境をつくることをおすすめします。

オススメ
how to programming on rental server
レンタルサーバでプログラミングする方法【→ブログのサーバでできる!】

続きを見る

下では、「グラフを描く為のライブラリmatplotlib」と、「数式を扱う為のライブラリnumpy」をインストールしていることを表しています。

  • matplotlibライブラリ
$ pip freeze | grep matplotlib
matplotlib==1.3.1
  • numpyライブラリ
$ pip freeze | grep numpy
numpy==1.8.2

pythonでグラフ作成するサンプルプログラム

sample program of creating graph on python

ライブラリのインポート

上の手順でインストールしたライブラリを、今から作るソースコードにインポートします。

ここでは、「numpy」ライブラリを「np」、「matplotlib」ライブラリの「pyplot」というモジュールを「np」という名前でインポートすることにします。

import numpy as np
import matplotlib.pyplot as plt

  1. ライブラリ「numpy」を名前「np」としてインポートする。
  2. ライブラリモジュール「matplotlib.pyplot」を名前「plt」としてインポートする。

グラフ作成の関数の定義

この関数は、1つ目グラフを変数「x」のSin(サイン)カーブ「y_sin」、2つ目のグラフを変数「x」のCos(コサイン)カーブ「 y_cos」、3つ目のグラフを変数「x」のTan(タンジェント)カーブ「y_tan」、4つ目のグラフは、3つ目の「y_tan」をランダムで出力する「y_random」と定義します。

関数「plt.show」で作成したグラフを描画しますが、Linuxでターミナルを使ってpythonファイルを実行している場合、この描画には、Xwindowなどのウインドウシステムが別途必要になります。

Xwindowのウインドウシステムについては、下記の記事で説明していますので、こちらを読んでください。

オススメ
use GUI app with ssh remote connection on Linux
【Linux】SSHリモート接続でサーバのGUIアプリを使う【→レンタルサーバでも可能】

続きを見る

def create_multi_plot():

    x = np.linspace(0, 5*np.pi, 100)

    y_sin = np.sin(x)
    y_cos = np.cos(x)

    # 1つ目のグラフ
    plt.subplot(2,2,1)
    plt.plot(x, y_sin, label="sin")
    plt.legend()

    # 2つ目のグラフ
    plt.subplot(2,2,2)
    plt.plot(x, y_cos, label="cos")
    plt.legend()

    # 3つ目のグラフ
    plt.subplot(2,2,3)
    y_tan = np.tan(x)
    plt.plot(x, y_tan, label="tan")
    plt.legend()

    # 4つ目のグラフ
    plt.subplot(2,2,4)
    y_random = np.random.randn(len(y_tan))
    plt.plot(x, y_random, label="random")
    plt.legend()

    # 全てのグラフの描画
    plt.show()

  1. 関数「create_multi_plot」を定義宣言する。
  2. 関数「np.linspace」で変数「x」を初期化する。
  3. 変数「y_sin」 を変数「x」のサインカーブの関数で定義する。
  4. 変数「y_cos」を変数「x」のコサインカーブの関数で定義する。
  5. 関数「plt.subplot」を使って、2行2列の1番目の位置にグラフを挿入する。
  6. 関数「plt.plot」を使って、変数「x」と変数「y_sin」との関係のグラフを作成する。
  7. 関数「plt.legend」を使って、グラフに凡例を示す。
  8. 関数「plt.subplot」を使って、2行2列の2番目の位置にグラフを挿入する。
  9. 関数「plt.plot」を使って、変数「x」と変数「y_cos」との関係のグラフを作成する。
  10. 関数「plt.legend」を使って、グラフに凡例を示す。
  11. 関数「plt.subplot」を使って、2行2列の3番目の位置にグラフを挿入する。
  12. 関数「plt.plot」を使って、変数「x」と変数「y_tan」との関係のグラフを作成する。
  13. 関数「plt.legend」を使って、グラフに凡例を示す。
  14. 関数「plt.subplot」を使って、2行2列の4番目の位置にグラフを挿入する。
  15. 関数「plt.plot」を使って、変数「x」と変数「y_random」との関係のグラフを作成する。
  16. 関数「plt.legend」を使って、グラフに凡例を示す。
  17. 関数「plt.show」を使って、全てのグラフを描画する。

定義した関数の呼び出し処理

ここでは、上記で定義した4つのグラフを描く関数「create_multi_plot」の呼び出しを行い、グラフを描く例を記載しています。

if __name__ == '__main__':
  create_multi_plot()

関数「create_multi_plot」を呼び出す。

処理の結果

処理の結果が下記のグラフになります。上下左右に4つのグラフを表示できています。

result of creating graph on python

上のグラフは、Linuxサーバーで計算した結果をWindowsPCにXウインドウという仕組みを使って、画面転送したものです。

Xウインドウの詳細は下記の記事で説明していますので、合わせて読んでください。

オススメ
use GUI app with ssh remote connection on Linux
【Linux】SSHリモート接続でサーバのGUIアプリを使う【→レンタルサーバでも可能】

続きを見る

pythonのその他「初心者向け」技術

other technique for python beginner

この記事では、pythonを使ったグラフを描く方法を説明しました。グラフを描く以外にも、pythonプログラムの「基礎知識」を下記の記事にまとめています。それぞれの記事には、実行可能なサンプルプログラムを掲載しています。プログラムの動作をご自身で確認することができます。

是非、下記の記事も合わせて読んで、「知識」としてだけではなく、「手」でpythonを覚えていきましょう。

オススメ
article of recommended to python beginner
【python】初心者向けおすすめ記事まとめ【pythonの文法をマスターする!】

続きを見る

-python
-

© 2021 Tommy's blog Powered by AFFINGER5