こんにちは,しまさん(@shimasan0x00)です.
先日_tkinterの問題をクリアしたのですが,matplotlibがうまく動きません.

画面は表示されたのですが白い画面がでるのみでした.

今回はこの解決方法について紹介します.
方法を試す途中でグラフが表示されるようになる方もいると思うので適宜試してみてください.
TkAggの紹介もしていますが,私はそれ以外の方法で解決しました.
環境
macOS Mojave(10.14)
pyenv Python3.6.7
スポンサーリンク
サンプルコード
import matplotlib.pyplot
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 8]
matplotlib.pyplot.plot( x, y )
matplotlib.pyplot.show()
スポンサーリンク
XCodeの確認
既に入れている方はエラーが出ますが問題ありません.
xcode-select --install
tcl-tkのインストール
pip install tcl-tk
スポンサーリンク
matplotlibのインストール
まずはpipでインストールをしましょう.
pip install numpy matplotlib
matplotlibrcの作成
~/.matplotlib/にmatplotlibrcを作成します.
vim ~/.matplotlib/matplotlibrc
backend : TkAgg
よく見かけるページではここまでの方法で解決されていて,喜ぶ方が多かったのですが私はここまでの方法で試しても白い画面が表示されるだけでした.
ではここからは私の場合の解決方法を紹介しています.
Qt関連のインストールとmatplotlibrcの再設定
matplotlibではbackendにTkAggやAggなどがありますが他にQt4Aggというものがあります.
今回はそれを使えるようにするためにQt4Agg関連と思われるパッケージをAnacondaのpip一覧から見つけてインストールすることにしました.
PyQt5 5.9.2
PyQt5-sip 4.19.13
QtAwesome 0.5.2
qtconsole 4.4.2
QtPy 1.5.2
pip install PyQt5 PyQt5-sip QtAwesome qtconsole QtPy
そしたらもう一度matplotlibrcを書き換えます.
backend: Qt4Agg
そうしてコードを実行すると…

出たぞ〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜!!!!!!!
これに2日かけた私… .
TkAggの記事多すぎて他の手段はないものと思い込んでしまっていた.
Tips 1 : pipのリスト
先程のpipでダメだった人用に一応私のpipのリストを貼っておきます.
absl-py==0.6.1
appnope==0.1.0
asn1crypto==0.24.0
astor==0.7.1
astroid==2.0.4
atomicwrites==1.2.1
attrs==18.2.0
Automat==0.7.0
backcall==0.1.0
bleach==3.0.2
certifi==2018.10.15
cffi==1.11.5
chardet==3.0.4
constantly==15.1.0
cryptography==2.3.1
cssselect==1.0.3
cycler==0.10.0
decorator==4.3.0
defusedxml==0.5.0
Django==2.1.3
entrypoints==0.2.3
flake8==3.6.0
gast==0.2.0
grpcio==1.16.0
h5py==2.8.0
hyperlink==18.0.0
idna==2.7
incremental==17.5.0
ipykernel==5.1.0
ipython==7.1.1
ipython-genutils==0.2.0
ipywidgets==7.4.2
isort==4.3.4
jedi==0.13.1
Jinja2==2.10
jsonschema==2.6.0
jupyter==1.0.0
jupyter-client==5.2.3
jupyter-console==6.0.0
jupyter-contrib-core==0.3.3
jupyter-contrib-nbextensions==0.5.0
jupyter-core==4.4.0
jupyter-highlight-selected-word==0.2.0
jupyter-latex-envs==1.4.4
jupyter-nbextensions-configurator==0.4.0
jupyterlab==0.35.2
jupyterlab-server==0.2.0
jupyterthemes==0.19.6
Keras==2.2.4
Keras-Applications==1.0.6
Keras-Preprocessing==1.0.5
kiwisolver==1.0.1
lazy-object-proxy==1.3.1
lesscpy==0.13.0
lxml==4.2.5
Markdown==3.0.1
MarkupSafe==1.0
matplotlib==3.0.1
mccabe==0.6.1
mecab-python3==0.7
mistune==0.8.4
more-itertools==4.3.0
nbconvert==5.4.0
nbformat==4.4.0
notebook==5.7.0
numpy==1.15.4
pandas==0.23.4
pandocfilters==1.4.2
parsel==1.5.1
parso==0.3.1
pexpect==4.6.0
pickleshare==0.7.5
pluggy==0.8.0
ply==3.11
prometheus-client==0.4.2
prompt-toolkit==2.0.7
protobuf==3.6.1
ptyprocess==0.6.0
py==1.7.0
pyasn1==0.4.4
pyasn1-modules==0.2.2
pycodestyle==2.4.0
pycparser==2.19
pycrypto==2.6.1
PyDispatcher==2.0.5
pyflakes==2.0.0
pygame==1.9.4
Pygments==2.2.0
PyHamcrest==1.9.0
pylint==2.1.1
pyOpenSSL==18.0.0
pyparsing==2.3.0
PyQt5==5.9.2
PyQt5-sip==4.19.13
pytest==3.10.0
python-dateutil==2.7.5
pytz==2018.7
PyWavelets==1.0.1
PyYAML==3.13
pyzmq==17.1.2
qrcode==6.0
QtAwesome==0.5.2
qtconsole==4.4.2
QtPy==1.5.2
queuelib==1.5.0
redis==2.10.6
requests==2.20.0
rise==5.4.1
scikit-learn==0.20.0
scipy==1.1.0
Scrapy==1.5.1
Send2Trash==1.5.0
service-identity==17.0.0
sip==4.19.8
six==1.11.0
tensorboard==1.11.0
tensorflow==1.11.0
termcolor==1.1.0
terminado==0.8.1
testpath==0.4.2
Theano==1.0.3
tornado==5.1.1
traitlets==4.3.2
Twisted==18.9.0
typed-ast==1.1.0
urllib3==1.24.1
w3lib==1.19.0
wcwidth==0.1.7
webencodings==0.5.1
Werkzeug==0.14.1
widgetsnbextension==3.4.2
wrapt==1.10.11
xonsh==0.8.2
xontrib-powerline==0.4.0
yapf==0.24.0
zope.interface==4.6.0
適当なテキストファイルにインストールして以下のコマンドを実行してください.
ただし,scikit-learnをテキストの最後に移動させてください.
pip install -r XXX.txt
ここらへんのことは記事に書いています.

Tips 2: pipリスト(パッケージ)を一括でアップデートする
以下のコマンドを実行するだけです.
pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
さいごに
長い死闘の末matplotlibを使えるようにしました.
私と同じエラーでWebをさまよう人が一人でも減ればいいなと思います.
TkAgg以外の記事もっと増えてください(切望).
参考
