python

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

creating graph on python
プログラム女子
プログラム女子

pythonで数式を書けるのは知ってるけど、グラフ表示ってできるんですか!?

できるよ。レンタルサーバなどのLinuxサーバの場合は、手持ちのPCにグラフを転送するために、Xウインドウの仕組みを使う必要があるけど、ここではpythonのグラフ作成の方法について説明するね。

Tommy
Tommy

pythonでグラフ作成する概要

summary of creating graph

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

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

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

environment of creating graph

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

【python】バージョン確認の方法【→プログラミング初心者向け】

レンタルサーバなどのLinuxサーバを使っている場合は、下の記事でプログラミングする環境の作り方を説明しています。

もし、まだプログラムする環境ができていない方は、先にこちらの記事を読んで、プログラミングできる環境をつくることをおすすめします。

レンタルサーバでプログラミングする方法【→レンタルサーバでできる!】

グラフを描く為のライブラリ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 ライブラリを npmatplotlib ライブラリの pyplot というモジュールを np という名前でインポートすることにします。

import numpy as np
import matplotlib.pyplot as 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のウインドウシステムについては、下記の記事で説明していますので、こちらを読んでください。

【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()
    

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

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

if __name__ == '__main__':
  create_multi_plot()

処理の結果

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

result of creating graph on python

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

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

【Linux】SSHのリモート接続でサーバのGUIアプリを使う【→レンタルサーバでも可能】

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

other technique for python beginner

その他のpythonプログラムの「基礎知識」を下記の記事にまとめています。

どれもpythonの文法というべき、基本的なものばかりで、これから「pythonでプログラムを学びたい」という人は、「知っておいて方がよいもの」ばかりです。

私は、「プログラム」は「動いて」こそ価値ががあると考えています。 もともと、「プログラムを学ぶ」というのは、「自分が意図した動作をプログラムにさせるようになる」ということだと思います。 つまり、プログラムを自分の意図通りに動かして、初めて「学べた」と言えるということです。

しかし、実際に手で書いて動かしてみないと「学べない」ことがあります。 頭で理解したと思っても、いざプログラムを書こうとおもっても思い通りにいかない場合があるからです。 それには、プログラムを書く環境の問題だったり、pythonのバージョンが違ったり、ライブラリのバージョンが違ったり、いろいろな事情があります。

「頭で理解する」ことと「実際に動かす」ということは違うのです。 だから、プログラムを学ぶ時には実際にプログラムを書いて「動かしてみる」ことを強くおすすめします。

それぞれの記事には、実行可能なサンプルプログラムを掲載しています。 記事を読んで、実際に自分で書いてみてプログラムの動作をご自身で確認することができます。 是非、下記の記事を読んで、「知識」としてだけではなく、「手」でpythonを覚えていってください。

【python】初心者向けおすすめ記事まとめ【pythonの文法をマスターする!】

-python
-,

Copyright© Tommy's blog , 2020 All Rights Reserved Powered by AFFINGER5.