Pythonでデータを可視化!Matplotlib入門の決定版【新人エンジニア向け】
こんにちは。ゆうせいです。
データ分析の世界に足を踏み入れた新人エンジニアの皆さん、「数字の羅列だけじゃ、データの傾向が全然つかめない…」なんて悩んでいませんか?そんなあなたの強力な味方になるのが、今回紹介する「Matplotlib」です!
この記事を読めば、Matplotlibがどんなもので、どうして学ぶべきなのかがスッキリ理解できるようになりますよ。さあ、一緒にデータ可視化の世界への第一歩を踏み出しましょう!
Matplotlibって、一体何者?
まず、一番大事な質問からいきましょう。「Matplotlib(マットプロットリブ)って何?」
一言でいうと、MatplotlibはPythonでグラフを作成するためのライブラリです。ライブラリというのは、よく使う機能がまとまった「便利な道具箱」のようなものだと思ってください。
つまりMatplotlibは、Pythonの世界で使える、超高性能な「グラフ作成お絵かきセット」なんです。
あなたが持っているデータを、折れ線グラフや棒グラフ、円グラフといった様々な「絵」に描き出してくれる、まさにデータ分析のアーティストなのですね。
数字だけを眺めていてもピンとこないデータも、グラフという「絵」にすることで、その特徴や変化が一目でわかるようになります。この「データを絵にすること」を専門用語で「データの可視化」と呼びます。Matplotlibは、このデータ可視化を行うための代表的な道具なのです。
まずはここから!基本のpyplot
を使ってみよう
Matplotlibを使い始めるとき、必ずと言っていいほど登場する専門用語があります。それがmatplotlib.pyplot
です。
これは、Matplotlibという巨大なお絵かきセットの中でも、特に基本的な機能、例えば「線を描く」「点を打つ」「グラフを表示する」といった、日常的によく使う道具が詰まったパレットのようなものだと考えてください。
プログラマーの世界では、このmatplotlib.pyplot
をplt
というあだ名(別名)で呼ぶのがお約束になっています。毎回長い名前を書くのは大変ですからね!
では、実際に簡単な折れ線グラフを描くコードを見てみましょう。
import matplotlib.pyplot as plt
# グラフの元になるデータ(x軸とy軸)を準備
x = [1, 2, 3, 4, 5]
y = [10, 30, 20, 40, 35]
# 折れ線グラフを描画
plt.plot(x, y)
# 描画したグラフを表示
plt.show()
どうでしょう?たったこれだけのコードで、x軸が1から5まで、y軸がデータに応じて上下する折れ線グラフが表示されるんです。
import matplotlib.pyplot as plt
:まずはお絵かきセットからplt
という名前のパレットを使いますよ、と宣言します。plt.plot(x, y)
:「パレット(plt)よ、xとyのデータを使って線(plot)を描いておくれ!」という命令です。plt.show()
:「さあ、描いた絵を画面に見せて(show)!」という最後の命令です。これがないと、絵は描かれていても画面には表示されないので忘れないでくださいね!
Matplotlibを学ぶメリット
便利なのはわかったけど、他にも色々ツールがある中で、なぜMatplotlibを学ぶべきなのでしょうか?そのメリットを具体的に見ていきましょう。
メリット1:とにかく自由度が高い!
Matplotlibの最大の魅力は、その圧倒的なカスタマイズ性です。
先ほどのグラフに、タイトルや各軸の名前を付けてみましょう。
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [10, 30, 20, 40, 35]
plt.plot(x, y)
# ここからがカスタマイズ!
plt.title("Sample Graph") # グラフのタイトル
plt.xlabel("Month") # x軸のラベル
plt.ylabel("Sales") # y軸のラベル
plt.show()
このように、plt.title()
やplt.xlabel()
といった命令を追加するだけで、グラフがどんどん分かりやすくなっていきます。
線の色や太さを変えたり、マーカーの種類を変えたり、凡例を追加したり…。まるで絵の具の色を混ぜたり、筆の種類を使い分けたりするように、思い通りのグラフを細部まで作り込めるのが、Matplotlibのすごいところです!
メリット2:歴史と実績がすごい
Matplotlibは古くから使われているライブラリなので、利用者が非常に多く、世界中のWebサイトにたくさんの情報が蓄積されています。
「こんなグラフを作りたいけど、どうすれば…?」と悩んだとき、検索すれば大抵の答えやサンプルコードが見つかるはずです。これは、学習を進める上で非常に大きな安心材料になりますよね。
知っておくべきデメリット(注意点)
もちろん、良いことばかりではありません。使いこなす上で知っておきたい注意点も見ておきましょう。
デメリット1:多機能ゆえの複雑さ
自由度が高いことの裏返しですが、凝ったグラフを描こうとすると、少し文法が複雑になります。
例えば、「Figure」や「Axes」といった新しい専門用語が出てきます。これは、それぞれ「絵を描くための画用紙全体」と「画用紙の中の、実際にグラフを描く個別のスペース」のような関係です。一枚の画用紙(Figure)に複数のグラフ(Axes)を並べたい、なんて時に必要になる概念ですね。
最初はpyplot
(plt)だけを使っていれば十分ですが、より高度な可視化を目指すときには、こうした新しいお作法を学ぶ必要が出てくる、ということは頭の片隅に置いておきましょう。
デメリット2:デフォルトのデザインが少し古風
何も設定せずにグラフを描くと、そのデザインが「少し昔っぽいな」と感じるかもしれません。
もちろんカスタマイズで見た目はいくらでも変更できますが、手軽におしゃれなグラフを作りたい!という需要に応えるため、「Seaborn(シーボーン)」のように、Matplotlibをベースに、より美しいデザインのグラフを簡単に描けるようにした別のライブラリも存在します。
今後の学習の指針
さて、Matplotlibの魅力と全体像が掴めてきたでしょうか?最後に、これからあなたがどう学習を進めていけば良いか、そのヒントをお伝えします。
- 公式ギャラリーを眺めてみよう!まずはMatplotlibの公式サイトにある「ギャラリー」を訪れて、どんなに多様なグラフが描けるのかを見てみてください。「こんな表現もできるのか!」という発見が、学習のモチベーションに繋がります。
- 自分の手でコードを書いて、グラフを描いてみよう!知識をインプットしたら、とにかく手を動かすことが一番の近道です。この記事のサンプルコードをコピー&ペーストして実行するだけでも構いません。まずは「グラフが表示された!」という成功体験を積むことが大切です。
- 身近なデータを可視化してみよう!慣れてきたら、自分の興味のあるデータ(例えば、毎日の勉強時間や体重の推移、好きなゲームの戦績など)を使ってグラフを作ってみましょう。自分事のデータを可視化すると、思わぬ発見があってとても楽しいですよ!
Matplotlibは、あなたのエンジニアとしてのキャリアにおいて、データを深く理解し、それを誰かに分かりやすく伝えるための強力な武器になります。最初は難しく感じるかもしれませんが、一歩ずつ使いこなせるようになれば、データ分析がもっともっと面白くなるはずです。
応援しています!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール
- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。