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

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

全てのタグを見る

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

· 約7分
ひかり
Main bloger

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

目次

グラフを作成

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

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 をインストールする方法

· 約1分
ひかり
Main bloger

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

参考: 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 を使ってみよう

· 約2分
ひかり
Main bloger

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 のインストールと設定

· 約2分
ひかり
Main bloger
  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