メインコンテンツまでスキップ

「Python」タグの記事が7件件あります

全てのタグを見る

Matplotlib (Pyplot) でよく使うコードの例

よく使うものを例としてコードとグラフを紹介します。

目次​

グラフを作成​

まず使用するライブラリを読み込んでおきます。

import matplotlib.pyplot as plt
import numpy as np

1 つのグラフ​

fig, ax = plt.subplots()

2 x 3 のグラフ​

fig, axs = plt.subplots(2, 3)

グラフをプロット​

放物線のプロット

x = np.linspace(-1, 1, 201)
y = x ** 2

fig, ax = plt.subplots()
ax.plot(x, y)

点で放物線をプロット

fig, ax = plt.subplots()

x = np.linspace(-1, 1, 21)
y = x ** 2

ax.plot(x, y, 'o')

色をオレンジに

fig, ax = plt.subplots()

x = np.linspace(-1, 1, 21)
y = x ** 2

ax.plot(x, y, color="tab:orange")

標準の色は以下の通り

色文字列
青tab:blue
オレンジtab:orange
緑tab:green
赤tab:red
紫tab:purple
茶tab:brown
ピンクtab:pink
グレーtab:gray
オリーブtab:olive
シアンtab:cyan

線の太さを 4 に設定

fig, ax = plt.subplots()

x = np.linspace(-1, 1, 21)
y = x ** 2

ax.plot(x, y, lw=4)

タイトルの設定​

タイトルを Title に設定

fig, ax = plt.subplots()
ax.set_title("Title")

軸ラベルの設定​

x 軸ラベルの設定​

x 軸ラベルを Time (s) に設定

fig, ax = plt.subplots()
ax.set_xlabel("Time (s)")

y 軸ラベルの設定​

y 軸ラベルを Distance (m) に設定

fig, ax = plt.subplots()
ax.set_ylabel("Distance (m)")

グラフの上端・下端を設定​

上端を 100 に設定

fig, ax = plt.subplots()
ax.set_ylim(top=100)

下端を -100 に設定

fig, ax = plt.subplots()
ax.set_ylim(bottom=-100)

上端を 100、下端を -100 に設定

fig, ax = plt.subplots()
ax.set_ylim([-100, 100])

グラフの左端・右端を設定​

左端を -100 に設定

fig, ax = plt.subplots()
ax.set_xlim(left=-100)

右端を 100 に設定

fig, ax = plt.subplots()
ax.set_xlim(right=100)

左端を -100、右端を 100 に設定

fig, ax = plt.subplots()
ax.set_xlim([-100, 100])

グリッドの表示​

fig, ax = plt.subplots()
ax.grid()

縦のみグリッドを表示

fig, ax = plt.subplots()
ax.grid(axis="x")

横のみグリッドを表示

fig, ax = plt.subplots()
ax.grid(axis="y")

目盛りの設定​

x 軸目盛りの設定

fig, ax = plt.subplots()
xticks = range(6)
ax.set_xticks(xticks)

x 軸目盛と目盛りラベルの設定

fig, ax = plt.subplots()
xticks = range(6)
ax.set_xticks(xticks, [f"{xtick}m" for xtick in xticks])

y 軸目盛りの設定

fig, ax = plt.subplots()
yticks = [i * 20 for i in range(6)]
ax.set_yticks(yticks)

y 軸目盛りと目盛りラベルの設定

fig, ax = plt.subplots()
yticks = [i * 20 for i in range(6)]
ax.set_yticks(yticks, [f"{ytick}%" for ytick in yticks])

目盛りの削除​

x 軸目盛りの削除

fig, ax = plt.subplots()
ax.tick_params(bottom=False)

x 軸目盛りラベルの削除

fig, ax = plt.subplots()
ax.tick_params(labelbottom=False)

y 軸目盛の削除

fig, ax = plt.subplots()
ax.tick_params(left=False)

y 軸目盛りラベルの削除

fig, ax = plt.subplots()
ax.tick_params(labelleft=False)

目盛りの色の設定​

x 軸目盛りの色を赤に設定

fig, ax = plt.subplots()
ax.tick_params(axis="x", color="tab:red")

x 軸目盛りラベルの色を赤に設定

fig, ax = plt.subplots()
ax.tick_params(axis="x", labelcolor="tab:red")

y 軸目盛りの色を赤に設定

fig, ax = plt.subplots()
ax.tick_params(axis="y", color="tab:red")

y 軸目盛りラベルの色を赤に設定

fig, ax = plt.subplots()
ax.tick_params(axis="y", labelcolor="tab:red")

グラフの間隔を調整​

縦の感覚を 0.2、横の間隔を 0.3 に設定

fig, ax = plt.subplots(3, 3)
fig.subplots_adjust(hspace=0.2, wspace=0.3)

%Cpu22 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

間隔を自動に設定

fig, ax = plt.subplots(3, 3)
fig.tight_layout()

画像を保存​

PNG 形式で保存

fig, ax = plt.subplots()
plt.savefig("graph.png")

SVG 形式で保存

fig, ax = plt.subplots()
plt.savefig("svg.png")

PDF 形式で保存

fig, ax = plt.subplots()
plt.savefig("svg.pdf")

graph.pdf

300 dpi で保存

fig, ax = plt.subplots()
plt.savefig("graph300.png", dpi=300)

Ubuntu (WSL2 含む) に pyenv と Python をインストールする方法

依存パッケージのインストール​

参考: Home · pyenv/pyenv Wiki

sudo apt update
sudo apt install build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

Pyenv のインストール​

参考: pyenv/pyenv-installer: This tool is used to install pyenv and friends.

curl https://pyenv.run | bash

~/.bashrc に初期化スクリプトを書き込む​

# ~/.bashrc を開く
code ~/.bashrc

以下を書き込みます。

export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

eval "$(pyenv virtualenv-init -)"

Python のインストール​

インストール可能なバージョン一覧を表示​

pyenv install -l

Python のインストール​

Python 3.12.2 をインストールします。

pyenv install 3.12.2

Python のバージョンを指定​

デフォルトのバージョンを Python 3.12.2 に設定します。

pyenv global 3.12.2

python -V # Python 3.12.2

Python のパッケージ管理ツールである Poetry を使ってみよう

Poetry のインストール​

Poetry のインストールは pip で行う。 (pip のアップグレードもついでに行う。)

python -m pip install --upgrade pip
pip install poetry

Poetry で Python プロジェクトの作成​

1. 新規で Python プロジェクトを作成する場合​

新規に Python プロジェクトを作成する場合は、 poetry new を実行する。 Python プロジェクトのひな形が生成される。

poetry new xxxxxxxx

2. 既に Python プロジェクトがある場合​

既に Python プロジェクトがある場合は、poetry init で Poetry の実行に必要な設定ファイルを追加する。

poetry init

Poetry の仮想環境に入る​

poetry shell を実行で、 Poetry の仮想環境でシェルが起動する。 Poetry を利用して追加したパッケージが使用できる。

poetry shell

Poetry にパッケージを追加​

poetry add で依存パッケージを追加できる。

poetry add xxxxxxxx

その他のよく使うコマンド​

  • poetry list コマンド一覧を表示
  • poetry build パッケージの作成 (.tar.gz, .whl)
  • poetry install 依存パッケージのインストール
  • poetry publish pypi などに作成物を公開
  • poetry search パッケージの検索
  • poetry run Poetry 環境でコマンドを実行
  • poetry show 利用可能なパッケージを表示
  • poetry update 依存パッケージのアップデートを実行

Pyenv のインストールと設定

  1. Pyenv をクローンする

    Pyenv のリポジトリーをクローンする。 ディレクトリーは ~/.pyenv がおすすめ。

git clone https://github.com/pyenv/pyenv ~/.pyenv



0. 高速化のための Bash 拡張をコンパイル

高速化のための Bash 拡張のコンパイルが可能。
コンパイルが失敗しても正常に動作する。

```sh
cd ~/.pyenv && src/configure && make -C src
  1. 設定 (bash)

    パスとかの設定。

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile echo 'eval "$(pyenv init --path)"' >> ~/.profile export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init --path)" echo -e 'if shopt -q login_shell; then'
'\n export PYENV_ROOT="$HOME/.pyenv"'
'\n export PATH="$PYENV_ROOT/bin:$PATH"'
'\n eval "$(pyenv init --path)"'
'\nfi' >> /.bashrc echo -e 'if [ -z "$BASH_VERSION" ]; then'
'\n export PYENV_ROOT="$HOME/.pyenv"'
'\n export PATH="$PYENV_ROOT/bin:$PATH"'
'\n eval "$(pyenv init --path)"'
'\nfi' >>
/.profile



# Python 環境のインストール

## 依存するライブラリーのインストール
```sh
sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev -y

インストール可能な環境を調べる​

pyenv install -l

インストールする​

コンパイル時間が長いので待つ。

CONFIGURE_OPTS="--enable-shared" pyenv install 3.9.5

バージョンの確認​

pyenv versions

バージョンの切り替え​

pyenv global 3.9.5