それでも気分は高専生

元高専生が自分のやってきたことを記事として残すためのてきとーなブログ

matplotlibを動かす on Arch Linux

sudo pacman -Sy tk
pip install matplotlib
  File "plot.py", line 1, in <module>
    import matplotlib.pyplot as plt
  File "/home/takahiro/.pyenv/versions/3.6.3/lib/python3.6/site-packages/matplotlib/pyplot.py", line 115, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/home/takahiro/.pyenv/versions/3.6.3/lib/python3.6/site-packages/matplotlib/backends/__init__.py", line 62, in pylab_setup
    [backend_name], 0)
  File "/home/takahiro/.pyenv/versions/3.6.3/lib/python3.6/site-packages/matplotlib/backends/backend_tkagg.py", line 4, in <module>
    from . import tkagg  # Paint image to Tk photo blitter extension.
  File "/home/takahiro/.pyenv/versions/3.6.3/lib/python3.6/site-packages/matplotlib/backends/tkagg.py", line 5, in <module>
    from six.moves import tkinter as Tk
  File "/home/takahiro/.pyenv/versions/3.6.3/lib/python3.6/site-packages/six.py", line 92, in __get__
    result = self._resolve()
  File "/home/takahiro/.pyenv/versions/3.6.3/lib/python3.6/site-packages/six.py", line 115, in _resolve
    return _import_module(self.mod)
  File "/home/takahiro/.pyenv/versions/3.6.3/lib/python3.6/site-packages/six.py", line 82, in _import_module
    __import__(name)
  File "/home/takahiro/.pyenv/versions/3.6.3/lib/python3.6/tkinter/__init__.py", line 36, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'

tkinterがないですってよ,奥さん.

matplotlib - tkinterをpyenv上で使用できるようにしたい - スタック・オーバーフロー

tkライブラリ→python本体の順に入れないとtkinterが生成されないのかー...

pyenv unistall 3.6.3
pyenv install 3.6.3
pip install --upgrade pip
pip install 

今度はマルチバイト文字が表示されない問題.

【Seaborn】日本語を表示する (フォントを変更する) に従って

import matplotlib as plt
print(plt.matplotlib_fname())

自分の場合は$HOME/.pyenv/versions/3.6.3/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrcに.

arch linuxの場合,フォントを探したければ

fc-list

で一覧が得られるので探す.

font.family  : IPAexGothic
font.style    : normal

を指定して無事日本語適用も完了.