Skip to main content

matplotlibを日本語表示に対応させます。

Project description

matplotlib-fontja

CI status PyPI project conda-forge

matplotlibを日本語表示に対応させます。

uehara1414さんのjapanize-matplotlibをフォークし、Python 3.12以降でも動作するよう修正したものです。変更点の詳細についてはCHANGELOGをお読みください。

利用方法

matplotlibをimportした後、matplotlib_fontjaをimportします。

import matplotlib.pyplot as plt
import matplotlib_fontja

plt.plot([1, 2, 3, 4])
plt.xlabel('簡単なグラフ')
plt.show()

demo

インストール

# pipを使う場合
pip install matplotlib-fontja

# uvを使う場合
uv add matplotlib-fontja

# Ryeを使う場合
rye add matplotlib-fontja

# Pipenvを使う場合
pipenv install matplotlib-fontja

# Poetryを使う場合
poetry add matplotlib-fontja

# Condaを使う場合
conda install conda-forge::matplotlib-fontja

動作確認環境

以下のPythonとMatplotlibのバージョンの組み合わせで動作を確認しています。

  • Python 3.7: Matplotlib 3.0 - 3.5
  • Python 3.8: Matplotlib 3.3 - 3.7
  • Python 3.9: Matplotlib 3.3 - 3.9
  • Python 3.10: Matplotlib 3.3 - 3.10
  • Python 3.11: Matplotlib 3.3 - 3.10
  • Python 3.12: Matplotlib 3.5 - 3.10
  • Python 3.13: Matplotlib 3.5 - 3.10

利用フォント

IPAexゴシック (Ver.004.01) を利用しています。 利用にあたってはIPAフォントライセンスv1.0に同意してください。

FAQ

import matplotlib_fontjaしたのに日本語が表示されません

import matplotlib_fontjaしてからグラフを描画するまでにフォントの設定が変わる処理が入っている可能性があります。

例えば、seabornを使用しているとsns.set_theme()などでフォントがseabornのデフォルトに上書きされてしまいます。

以下のように、フォント上書き後にmatplotlib_fontja.japanize()を実行してください。

sns.set_theme()
matplotlib_fontja.japanize()

seabornの場合は、sns.set_theme(font="IPAexGothic")としてIPAexGothicを使用するよう設定することもできます。

import matplotlib_fontjaに対してリンターの警告(F401)が出ます/フォーマッターに消されてしまいます

importしたmatplotlib_fontjaを使用していないため、不要なimportと誤判定されています。以下のようにnoqaで無効化してください。

import matplotlib_fontja  # noqa: F401

あるいは、matplotlib_fontja.japanize()を使用すれば未使用と判定されません。無意味な実行になりますが、import直後などに追加して警告を消すこともできます。

import matplotlib_fontja

matplotlib_fontja.japanize()

IPAexゴシック以外のフォントを使いたいです

matplotlibの標準機能で任意のフォントを使用できます。matplotlib-fontjaは不要です。以下はNoto Sans Japaneseを使う例です。

import matplotlib.font_manager
import matplotlib.pyplot as plt

# フォントファイルを読み込み
matplotlib.font_manager.fontManager.addfont(
    "/path/to/NotoSansJP-Regular.ttf"
)

# 読み込んだフォントを使用するよう設定
matplotlib.rc("font", family="Noto Sans JP")

plt.plot([1, 2, 3, 4])
plt.xlabel('簡単なグラフ')
plt.show()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

matplotlib_fontja-1.1.0.tar.gz (4.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

matplotlib_fontja-1.1.0-py2.py3-none-any.whl (4.2 MB view details)

Uploaded Python 2Python 3

File details

Details for the file matplotlib_fontja-1.1.0.tar.gz.

File metadata

  • Download URL: matplotlib_fontja-1.1.0.tar.gz
  • Upload date:
  • Size: 4.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.6.16

File hashes

Hashes for matplotlib_fontja-1.1.0.tar.gz
Algorithm Hash digest
SHA256 eb0ad93eea01ceac6b563bccce9959335bfd487824160712a81984142ffb8e44
MD5 0d2e20f13f821e88eb2bc470b26a7215
BLAKE2b-256 1b0a6710bc330f4372287e73c7fbc61d27b9a3c93ff19d6bf1d492b3482d3e52

See more details on using hashes here.

File details

Details for the file matplotlib_fontja-1.1.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for matplotlib_fontja-1.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 930603aaffd420ad89a6cf3399f074b14e939e8e349843ed1cb558ac97c8c94a
MD5 81c12533cd4bf46bdc6a4257800dd70e
BLAKE2b-256 32d87c0487747902ced21faf4cc6f9cfd8467a845261908dbdaf9e256faa9119

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page