LoginSignup
5
3

More than 3 years have passed since last update.

matplotlibでTimes New Romanが意図せずボールド体になってしまうときの対処法

Posted at

はじめに

matplotlibのアップデートをしたところ,フォントをTimes New Romanに設定すると意図せずボールド体になってしまう問題が生じました.

環境

Anaconda 3
Python 3.7.4
jupyter lab 1.1.3
matplotlib 3.1.1

対処法

以下のパスにあるfont_manger.pyの1272行目を書き直します.

\Users\username\Anaconda3\pkgs\matplotlib\Lib\site-packages\matplotlib\font_manger.py
if score < best_score:
                best_score = score
                best_font = font
if score <= best_score:
                best_score = score
                best_font = font

結果

グラフの書式を設定します.何故かこの設定のセルを2度実行しないとフォントサイズが適用されなくなってしまいましたが,他の環境でもなるかはわかりません.

%matplotlib inline
import matplotlib.pyplot as plt

#グラフの書式設定
plt.rcParams["font.family"] = "Times New Roman"      #全体のフォントを設定
plt.rcParams["xtick.direction"] = "in"               #x軸の目盛線が内向き('in')か外向き('out')か双方向か('inout')
plt.rcParams["ytick.direction"] = "in"               #y軸の目盛線が内向き('in')か外向き('out')か双方向か('inout')
plt.rcParams["xtick.minor.visible"] = True          #x軸補助目盛りの追加
plt.rcParams["ytick.minor.visible"] = True          #y軸補助目盛りの追加
plt.rcParams["xtick.major.width"] = 1.5              #x軸主目盛り線の線幅
plt.rcParams["ytick.major.width"] = 1.5              #y軸主目盛り線の線幅
plt.rcParams["xtick.minor.width"] = 1.0              #x軸補助目盛り線の線幅
plt.rcParams["ytick.minor.width"] = 1.0              #y軸補助目盛り線の線幅
plt.rcParams["xtick.major.size"] = 10                #x軸主目盛り線の長さ
plt.rcParams["ytick.major.size"] = 10                #y軸主目盛り線の長さ
plt.rcParams["xtick.minor.size"] = 5                #x軸補助目盛り線の長さ
plt.rcParams["ytick.minor.size"] = 5                #y軸補助目盛り線の長さ
plt.rcParams["font.size"] = 14                       #フォントの大きさ
plt.rcParams["axes.linewidth"] = 1.5                 #囲みの太さ

修正前
TimesNewRoman_bold.png

修正後
TimesNewRoman.png

参考

以下のサイトを参考にしました.
Stack Overflow : Times New Roman appears bold

5
3
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
5
3