LoginSignup
0
1

More than 1 year has passed since last update.

Pythonを改めてちゃんと学ぶメモ #7

Last updated at Posted at 2023-01-09

はじめに

ここは、Pythonを改めて学んでいるメモを都度書き出していきます。
※ 筆者のバックグラウンドは#1をご覧ください。

  1. https://qiita.com/hideh_hash_845/items/58241f0ce0283e457a87
  2. https://qiita.com/hideh_hash_845/items/56c7a2c5594261f380b2
  3. https://qiita.com/hideh_hash_845/items/b5e2264fc650c3e9d4b6
  4. https://qiita.com/hideh_hash_845/items/6ebfcbf1682dcc696b76
  5. https://qiita.com/hideh_hash_845/items/7b4aeb514f9eb199e9c2
  6. 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()
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1