logo

Python でグラフをプロットする方法

Python は、と呼ばれる最も人気のあるプロット ライブラリの 1 つを提供します。 マットプロットリブ 。これは、配列内のデータから 2D プロットを作成するためのオープンソース、クロスプラットフォームです。一般にデータの視覚化に使用され、さまざまなグラフを通じて表現されます。

Matplotlib は、もともと 2003 年に John D. Hunter によって考案されました。matplotlib の最新バージョンは、2018 年 1 月にリリースされた 2.2.0 です。

matplotlib ライブラリの操作を開始する前に、Python 環境にインストールする必要があります。

Matplotlib のインストール

ターミナルに次のコマンドを入力し、Enter キーを押します。

 pip install matplotlib 

上記のコマンドは、matplotlib ライブラリとその依存関係パッケージを Windows オペレーティング システムにインストールします。

Matplotlib の基本概念

グラフには次の部分が含まれます。これらの部分を理解しましょう。

Python でグラフをプロットする方法

形: これは、1 つ以上の軸 (プロット) を保持できる図全体です。 Figure は、プロットを保持するキャンバスと考えることができます。

軸: Figure には複数の軸を含めることができます。これは 2 つまたは 3 つ (3D の場合) の Axis オブジェクトで構成されます。各軸は、タイトル、x ラベル、y ラベルで構成されます。

軸: 軸は線状のオブジェクトの数であり、グラフの範囲を生成する役割を果たします。

アーティスト: アーティストとは、Text オブジェクト、Line2D オブジェクト、コレクション オブジェクトなど、グラフ上に表示されるすべてのものです。ほとんどのアーティストは Axes に結びついています。

pyplot の概要

matplotlib は、指定されたデータのグラフをプロットするために使用される pyplot パッケージを提供します。の matplotlib.pyplot は、matplotlib を MATLAB のように動作させるコマンド スタイル関数のセットです。 pyplot パッケージには、Figure の作成、Figure 内でのプロット領域の作成、ラベルによるプロットの装飾、プロット領域でのいくつかの線のプロットなどに使用される多くの関数が含まれています。

pyplot を使用すると、グラフをすばやくプロットできます。次の例を見てみましょう。

基本的なグラフ描画例

ここでは、単純なグラフを生成する基本的な例を示します。プログラムは次のとおりです。

 from matplotlib import pyplot as plt #ploting our canvas plt.plot([1,2,3],[4,5,1]) #display the graph plt.show() 

出力:

Python でグラフをプロットする方法

さまざまな種類のグラフのプロット

pyplot モジュールを使用してさまざまなグラフをプロットできます。次の例を理解してみましょう。

1. 折れ線グラフ

折れ線グラフは、情報を一連の折れ線として表示するために使用されます。プロットするのは簡単です。次の例を考えてみましょう。

例 -

 from matplotlib import pyplot as plt x = [1,2,3] y = [10,11,12] plt.plot(x,y) plt.title('Line graph') plt.ylabel('Y axis') plt.xlabel('X axis') plt.show() 

出力:

Arduinoの機能

ラインはさまざまな機能を使用して変更できます。グラフがより魅力的になります。以下にその例を示します。

例 -

 from matplotlib import pyplot as plt from matplotlib import style style.use('ggplot') x = [10, 12, 13] y = [8, 16, 6] x2 = [8, 15, 11] y2 = [6, 15, 7] plt.plot(x, y, 'b', label='line one', linewidth=5) plt.plot(x2, y2, 'r', label='line two', linewidth=5) plt.title('Epic Info') fig = plt.figure() plt.ylabel('Y axis') plt.xlabel('X axis') plt.show() 

2. 棒グラフ

棒グラフは最も一般的なグラフの 1 つであり、カテゴリ変数に関連付けられたデータを表すために使用されます。の バー() 関数は、カテゴリ変数、値、色という 3 つの引数を受け取ります。

例 -

 from matplotlib import pyplot as plt Names = ['Arun','James','Ricky','Patrick'] Marks = [51,87,45,67] plt.bar(Names,Marks,color = 'blue') plt.title('Result') plt.xlabel('Names') plt.ylabel('Marks') plt.show() 

3. 円グラフ

チャートは、サブパートまたはセグメントに分割された円グラフです。これは、円の各スライスが特定のカテゴリを表すパーセンテージまたは比例データを表すために使用されます。以下の例を理解してみましょう。

例 -

 from matplotlib import pyplot as plt # Pie chart, where the slices will be ordered and plotted counter-clockwise: Aus_Players = 'Smith', 'Finch', 'Warner', 'Lumberchane' Runs = [42, 32, 18, 24] explode = (0.1, 0, 0, 0) # it 'explode' the 1st slice fig1, ax1 = plt.subplots() ax1.pie(Runs, explode=explode, labels=Aus_Players, autopct='%1.1f%%', shadow=True, startangle=90) ax1.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle. plt.show() 

出力:

Python でグラフをプロットする方法

4. ヒストグラム

ヒストグラムと棒グラフは非常によく似ていますが、わずかな違いがあります。ヒストグラムは分布を表すために使用され、棒グラフはさまざまなエンティティを比較するために使用されます。ヒストグラムは通常、一連の値の範囲と比較して、多数の値の頻度をプロットするために使用されます。

次の例では、生徒のさまざまな得点率のデータを取得し、生徒の数に関するヒストグラムをプロットしました。次の例を理解してみましょう。

例 -

 from matplotlib import pyplot as plt from matplotlib import pyplot as plt percentage = [97,54,45,10, 20, 10, 30,97,50,71,40,49,40,74,95,80,65,82,70,65,55,70,75,60,52,44,43,42,45] number_of_student = [0,10,20,30,40,50,60,70,80,90,100] plt.hist(percentage, number_of_student, histtype='bar', rwidth=0.8) plt.xlabel('percentage') plt.ylabel('Number of people') plt.title('Histogram') plt.show() 

出力:

Python でグラフをプロットする方法

別の例を理解してみましょう。

例 - 2:

 from matplotlib import pyplot as plt # Importing Numpy Library import numpy as np plt.style.use('fivethirtyeight') mu = 50 sigma = 7 x = np.random.normal(mu, sigma, size=200) fig, ax = plt.subplots() ax.hist(x, 20) ax.set_title('Historgram') ax.set_xlabel('bin range') ax.set_ylabel('frequency') fig.tight_layout() plt.show() 

出力:

Python でグラフをプロットする方法

5. 散布図

散布図は、変数を他の変数と比較するために使用されます。これは、ある変数が他の変数にどのような影響を与えるかとして定義されます。データは点の集合として表されます。次の例を理解してみましょう。

例 -

 from matplotlib import pyplot as plt from matplotlib import style style.use('ggplot') x = [4,8,12] y = [19,11,7] x2 = [7,10,12] y2 = [8,18,24] plt.scatter(x, y) plt.scatter(x2, y2, color='g') plt.title('Epic Info') plt.ylabel('Y axis') plt.xlabel('X axis') plt.show() 

出力:

Python でグラフをプロットする方法

例 - 2:

 import matplotlib.pyplot as plt a = [2, 2.5, 3, 3.5, 4.5, 4.7, 5.0] b = [7.5, 8, 8.5, 9, 9.5, 10, 10.5] a1 = [9, 8.5, 9, 9.5, 10, 10.5, 12] b1 = [3, 3.5, 4.7, 4, 4.5, 5, 5.2] plt.scatter(a, b, label='high income low saving', color='b') plt.scatter(a1, b1, label='low income high savings', color='g') plt.xlabel('saving*100') plt.ylabel('income*1000') plt.title('Scatter Plot') plt.legend() plt.show() 

出力:

Python でグラフをプロットする方法

このチュートリアルでは、データの視覚化で使用されるすべての基本的なタイプのグラフについて説明しました。グラフの詳細については、matplotlib チュートリアルをご覧ください。

部分文字列メソッドJava