はじめに
ここは、Pythonを改めて学んでいるメモを都度書き出していきます。
※ 筆者のバックグラウンドは#1をご覧ください。
- https://qiita.com/hideh_hash_845/items/58241f0ce0283e457a87
- https://qiita.com/hideh_hash_845/items/56c7a2c5594261f380b2
- https://qiita.com/hideh_hash_845/items/b5e2264fc650c3e9d4b6
- https://qiita.com/hideh_hash_845/items/6ebfcbf1682dcc696b76
- https://qiita.com/hideh_hash_845/items/7b4aeb514f9eb199e9c2
- https://qiita.com/hideh_hash_845/items/b46d2d82287f10bfb7c4
Matplotlib
- 二次元の平面にグラフを描画するライブラリ
- numpyやpandasによって生成・読込をしたデータをグラフに落とし込むという使い方
- 基本の流れは描画系メソッドでグラフを生成→
show()
で描く
# matplotlibのインポート
import matplotlib.pyplot as plt
様々な関数
-
title()
表題 -
xlabel()
,ylabel()
ラベル -
legend()
凡例表示
-- 日本語を使うときは日本語フォントを指定すること
-- 場所はloc="upper left"
のように指定
-- 日本語を使いたい場合はフォント指定を忘れずに
# 日本語フォントをセットしないと文字化けするので注意
# plt.title('日本語表示テスト', fontsize=14)
plt.title('日本語表示テスト', fontsize=14, fontname="Meiryo")
-
xlim()
,ylim()
描画範囲 -
xticks()
,yticks()
目盛り -
grid()
グリッドを表示
# 指定方法のイメージ
plt.xlim([0,10])
plt.yticks(np.arange(0, 18000, 3000))
グラフの種類
-
scatter()
散布図 -
plot()
グラフの描画 -
show()
表示
# 式の描画
x = np.linspace(0, 10, 5)
y = 2 * x + 3
plt.plot(x, y,'r.',lw=5, label="式 y = 2x + 3")
サンプルコード
Matplotlib_plot_test.py
#!/usr/bin/env python
# coding: utf-8
# matplotlibのインポート
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# 下準備(実は無くてもいい)
#plt.figure(0)
#plt.clf()
# データ準備
x = np.arange(0, 10, 0.1) # -10から10までの範囲を200分割したarray
# 横軸の描画範囲指定
# 式1 y = 2x + 3より、縦軸の値算出
y1 = 2 * x + 3
# 式2 y = 3x + 1より、縦軸の値算出
y2 = 3 * x + 1
# 適当なデータセットを作成
y3 = x * (x - 4) * (x - 8) # 三次関数を適用する
# グラフの装飾
# タイトル
plt.title('様々なグラフ', fontsize=14, fontname="Meiryo", color="#8080ff")
# x軸ラベル
plt.xlabel("x軸", fontsize=14, fontname="Meiryo")
# y軸ラベル
plt.ylabel("y軸", fontsize=14, fontname="Meiryo")
# グラフの描画
# 式の描画
plt.plot(x, y1,'r-.',lw=5, label="y = 2x + 3")
plt.plot(x, y2,'b--',lw=5, label="y = 3x + 1")
plt.plot(x, y3,'g' ,lw=5, label="y = x * (x - 4) * (x - 8)")
# 凡例表示
plt.legend(loc="upper left", fontsize=10)
plt.grid(linestyle=":")
plt.xlim([0,10])
plt.ylim([0,50])
# 表示
plt.show()