Pythonグラフで日本語が表示されない?yfinance対策ガイド


📌 この記事でわかること:

  • yfinanceで作成したグラフに日本語が表示されない原因
  • matplotlibのフォント設定による対処法
  • フォントインストール・キャッシュ削除まで含めた完全対応ガイド

👤 対象となる読者:

  • yfinanceやmatplotlibで株価グラフを作成している初心者
  • なぜ日本語が出ない?」でつまずいたPythonユーザー
  • グラフや分析を日本語で見やすく整えたい

🛠 活用できるシーン:

  • プレゼンやブログ用に日本語ラベルのグラフを作成したいとき
  • Jupyter Notebookで見栄えよく仕上げたいとき
  • matplotlibでの環境ごとのフォント設定ミスを防ぎたいとき

🔧 先に答えを知りたい人へ:

Pythonでyfinanceを使ってグラフを描いたときに日本語が表示されない場合、原因はmatplotlibのフォント設定にあります。

以下のように日本語フォントを指定することで解決できます。

import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'IPAexGothic'  # 環境により適宜変更

フォントがインストールされていない場合は別途インストールが必要です。

➡ 詳しい背景や他の対応方法について知りたい方は、ぜひこの記事を読み進めてみてください!


目次

1. はじめに

Pythonのyfinanceライブラリを使って株価グラフを作成していると、ラベルやタイトルなどに日本語を使ったときに、文字が表示されなかったり、四角い豆腐(□)になったりすることがあります。

「コードは合ってるはずなのに…」と悩む人も多いこの現象、実はmatplotlibのデフォルト設定が日本語非対応であることが原因です。

この記事では、そんな「グラフに日本語が出ない!」問題を初心者にも分かりやすく、実例を交えて解説していきます。


2. 現象の再現とエラー例

たとえば以下のように、yfinanceで株価を取得し、グラフにタイトルや凡例を追加したとします:

import yfinance as yf
import matplotlib.pyplot as plt

stock = "7203.T"  # トヨタ自動車

data = yf.download(stock, start="2023-01-01", end="2024-01-01")

plt.plot(data['Close'])
plt.title("トヨタの株価推移")
plt.xlabel("日付")
plt.ylabel("株価(円)")
plt.show()

このコードを実行すると、タイトルや軸ラベルに日本語が表示されないことがあります。原因は、使用しているフォントが日本語を含んでいないためです。


3. 原因はmatplotlibのフォント設定

Pythonのグラフ描画ライブラリであるmatplotlibは、デフォルトでは英語用フォントを使うため、日本語が文字化けしたり表示されなかったりします。

特にWindowsやLinuxではこの現象が起きやすく、macOSでも場合によっては日本語が出ないことがあります。

📸 実行結果(エラー時のグラフ例)👇

※このように、日本語が表示されない原因は「matplotlibのフォント未設定」によるものです。


4. 解決方法:日本語フォントを設定する

matplotlibで日本語を表示するには、以下のように日本語対応フォントを明示的に指定します。

import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'IPAexGothic'

✅ よく使われる日本語フォント

  • IPAexGothic(推奨)
  • Meiryo:Meiryo, IPAexGothic などが使えると安心
  • TakaoGothic:Hiragino Sans が標準で対応
  • Hiragino Sans:フォントのインストールが必要なことが多い

※使用可能なフォントは環境によって異なります。
 筆者はwindowsなのでMeiryoを使います。

🔄 フォントキャッシュのクリアも忘れずに

フォントを変更したのに反映されない場合は、以下のコマンドでキャッシュを削除してから再実行してください:

rm -rf ~/.cache/matplotlib

❓ Q. IPAexGothicが使えないのですが?

A. OSにフォントが入っていない可能性があります。IPAフォントの公式サイトなどからダウンロードし、インストールしてから再実行してください。


5. 実際にグラフを描いてみよう(コード例)

以下は日本語フォントを設定して、正しくグラフが描画される例です:

import yfinance as yf
import matplotlib.pyplot as plt

plt.rcParams['font.family'] = 'IPAexGothic'

data = yf.download("6758.T", start="2023-01-01", end="2024-01-01")  # ソニー

plt.plot(data['Close'])
plt.title("ソニーの株価推移")
plt.xlabel("日付")
plt.ylabel("株価(円)")
plt.grid()
plt.show()

📸 実行結果(成功例:フォント設定済)👇


6. よくあるミスと対策

  • フォント名のスペルミス → 正確なフォント名を確認しよう
  • フォントがそもそもインストールされていない → OSに合わせてインストール
  • キャッシュを削除していない → 表示されない場合はキャッシュクリア

7. まとめ

  • yfinanceでグラフに日本語を使うと表示されないことがある
  • 原因はmatplotlibのフォント設定
  • 日本語対応フォントを指定すれば解決可能!

「突然グラフが出なくなった!」そんな経験ありませんか?
それ、実は Adj Close が取得できないことが原因かも…。
yfinanceで’Adj Close’がない!? KeyErrorの原因と対処法

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Python・投資・業務効率化をテーマにしたブログを運営しています。
本業では社内ツール・アプリの運営・開発をしており、趣味はキャンプや食べ歩きです。

このブログでは、実体験や実務で役立った知識をベースに、
初心者でも再現できる情報発信を心がけています。

コメント

コメントする

目次