【Python】Matplotlibとは?意味をわかりやすく簡単に解説

【Python】Matplotlibとは?意味をわかりやすく簡単に解説

公開: 更新:


Matplotlibとは

MatplotlibはPythonで高品質なグラフや、図表を作成するための強力なライブラリです。数値データを視覚化する際に広く利用され、科学技術計算や統計解析の分野で重要なツールです。MATLABのプロッティングシステムを模して開発されたため、MATLABユーザーにとっても親しみやすい設計となっています。

Matplotlibはその柔軟性と豊富な機能が特徴です。線グラフや散布図、棒グラフなどさまざまなグラフタイプをサポートしており、複雑なデータセットも効果的に可視化できます。また、軸のカスタマイズや凡例の追加、色の調整など細かな設定も可能です。

MatplotlibはNumPyPandasなど、ほかPythonライブラリとシームレスに連携できる点もメリットです。これによりデータ処理から可視化までの一連の作業を、Python環境内で完結させることが可能です。さらに対話的な環境での利用やスクリプト化された自動処理にも対応しており、さまざまな用途に適用できます。

「Python」を学べるコードキャンプのサービス

Matplotlibの基本的な使い方

Matplotlibの基本的な使い方について、以下3つを簡単に解説します。

  • 単純な線グラフの作成方法
  • グラフのカスタマイズ技法
  • 複数のサブプロットの作成

単純な線グラフの作成方法

Matplotlibを使用して単純な線グラフを作成する方法は直感的で簡単です。まずは必要なモジュールをインポートし、データ点を定義します。そのあとplot関数を使用してグラフを描画し、show関数で表示するというのが主な流れです。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y = np.sin(x)

plt.plot(x, y)
plt.title('正弦波のグラフ')
plt.xlabel('x軸')
plt.ylabel('y軸')
plt.show()

このコードはNumPyを使用してx軸の値を生成し、それに対応するsin関数の値をy軸としている例です。plot関数でデータをプロットし、title、xlabel、ylabelでグラフにタイトルと軸ラベルを追加しています。最後にshow関数でグラフを表示します。

Matplotlibの強みは基本的なグラフ作成から、より複雑な可視化まで幅広く対応できる点です。たとえば線の色やスタイル、マーカーの形状なども簡単に変更できます。また、グリッド線の追加や軸の範囲設定なども、数行のコードで実現できるのが特徴です。

おすすめのPython研修一覧

Python研修を提供しているおすすめの企業・法人を一覧で掲載しております。

Python研修の一覧を見る

おすすめのDX研修一覧

DX研修を提供しているおすすめの企業・法人を一覧で掲載しております。

DX研修の一覧を見る

おすすめのJava研修一覧

Java研修を提供しているおすすめの企業・法人を一覧で掲載しております。

Java研修の一覧を見る

おすすめのJavaScript研修一覧

JavaScript研修を提供しているおすすめの企業・法人を一覧で掲載しております。

JavaScript研修の一覧を見る

グラフのカスタマイズ技法

Matplotlibではグラフのカスタマイズが柔軟に行えます。線の色や太さやマーカーのスタイル、凡例の位置などさまざまな要素を細かく調整できます。これによりデータの特性を最も効果的に表現するグラフを作成可能です。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, color='red', linestyle='--', label='sin(x)')
plt.plot(x, y2, color='blue', linestyle='-', label='cos(x)')
plt.title('正弦波と余弦波の比較', fontsize=16)
plt.xlabel('x軸', fontsize=14)
plt.ylabel('y軸', fontsize=14)
plt.legend()
plt.grid(True)
plt.show()

このコードはsin関数とcos関数の2つのグラフを同時にプロットしている例です。それぞれの線に異なる色とスタイルを設定し、凡例を追加しています。また、タイトルやラベルのフォントサイズを調整し、グリッド線も追加しています。

Matplotlibのカスタマイズ機能は非常に豊富で、グラフの見た目を細かく制御可能です。たとえば軸のスケールを対数にしたり、テキストやアノテーションを追加したりできます。これらの機能を活用することで、プレゼンテーションや論文に適した高品質なグラフを作成できます。

複数のサブプロットの作成

Matplotlibではひとつの図に複数のグラフ(サブプロット)を配置できます。これは関連するデータセットを比較したり、異なる視点からデータを分析したりする際に有効です。サブプロットの作成には主にsubplot関数が使用されます。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)

fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(15, 5))

ax1.plot(x, y1)
ax1.set_title('sin(x)')

ax2.plot(x, y2)
ax2.set_title('cos(x)')

ax3.plot(x, y3)
ax3.set_title('tan(x)')

plt.tight_layout()
plt.show()

このコードはsubplots関数を使用し、1行3列のサブプロットを作成している例です。各サブプロットに異なる三角関数のグラフをプロットし、それぞれにタイトルを設定しています。tight_layout関数を使用することで、サブプロット間の間隔を自動調整しています。

サブプロットを活用することで、データの多面的な分析や比較が容易です。たとえば同じデータセットの異なる特徴を並べて表示したり、時系列データの異なる期間を比較したりできます。また、グラフの配置や大きさも柔軟に調整できるため、効果的なデータストーリーテリングが可能です。

※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。

ITやプログラミングに関するコラム


ITやプログラミングに関するニュース

ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア 金融業界の業務効率化を加速するニッセイアセットマネジメントの生成AI×GAS活用研修事例 - IT・プログラミングを知って学べるコネクトメディア 【製造業のDX人材育成事例】デジタル人材の即戦力化を実現する、日本ガイシ株式会社の異動者向オンボーディング研修 - ITやプログラミングを知って学べるコネクトメディア フューチャーアーキテクト株式会社が実現した新入社員向けIT研修プログラムでタスクフォース制度が主体的な学びと成長を生み出す - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【IT新入社員研修】オンラインとオフラインの最適バランスを実現したFutureOneの導入事例 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【新入社員研修】柔軟なハイブリッド型Java研修で実現した新卒20名の成長と成果|サークレイス株式会社 - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する