質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

5522閲覧

vscodeでpython グラフ作成

houki

総合スコア22

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/01/01 02:02

編集2019/01/01 16:50

前提・実現したいこと

pythonを学習しているのですが、vscodeでimport matplotlibをすると以下のエラーメッセージが出てきます。こちらを解決したいのですが、方法が具体的にわかりません。

発生している問題・エラーメッセージ

ModuleNotFoundError: No module named '_tkinter'//旧エラー RuntimeError: tk.h version (8.6) doesn't match libtk.a version (8.5)//現エラー

該当のソースコード

python

1# -*- coding: utf-8 -*- 2import numpy as np 3import pandas as pd 4import matplotlib.pyplot as plt 5 6# 現在時刻から200日分のdatetimeインデックスを作成 7x = pd.period_range(pd.datetime.now(), periods=200, freq='d') 8x = x.to_timestamp().to_pydatetime() 9# ランダム値配列を3列200行分作成し、各列毎に累積和を求める 10y = np.random.randn(200, 3).cumsum(0) 11 12plots = plt.plot(x, y) 13plt.legend(plots, ('data1', 'data2', 'data3'), # 3つのプロットラベルの設定 14 loc='best', # 線が隠れない位置の指定 15 framealpha=0.25, # 凡例の透明度 16 prop={'size': 'small', 'family': 'monospace'}) # 凡例のfontプロパティ 17 18plt.title('Random Data Graph') # タイトル名 19plt.xlabel('Date') # 横軸のラベル名 20plt.ylabel('Cum. sum') # 縦軸のラベル名 21plt.grid(True) # 目盛の表示 22plt.tight_layout() # 全てのプロット要素を図ボックスに収める 23 24# 描画実行 25plt.show()

試したこと

・ModuleNotFoundError: No module named '_tkinter'
・vscode
・macOS
などで色々調べました。

vscodeでグラフ作成したいのですが、どうもうまくいかなくて、jupyterはでは当のソースコードで正しくグラフ作成可能なのですが、vscodeではうまく行きません。
Tcl/Tkを使う方法など色々調べたのですが、
https://www.python.org/download/mac/tcltk/#built-in-8-6-8
のサイトをみてダウンロードはしたものの、うまくいっていません。
https://qiita.com/kaizen_nagoya/items/0bebb8e5a757a7d1b9f2

補足情報(FW/ツールのバージョンなど)

python3.7.1 macOSver10.14 Mojave vscode

旧python3.6.6から現3.7.1にバージョンアップしましたところ、エラー内容が変わりましたので、編集しました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hayataka2049

2019/01/01 03:06

環境を構築した手順などを詳細に記載してください
hayataka2049

2019/01/01 11:46

未確認ですが、python3本体のインストールの際にbrew uninstall python3 --with-tcl-tkとかすると入るのかもしれません。ただ、それをやるためには一回ぜんぶアンインストールして最初からやり直す必要があると思うので、どうしてもtkinterを使いたいのでなければ私の回答の方法で回避するのも手です。
houki

2019/01/01 16:48

現エラーが解消できない場合は、hayatakaさんの記載したpyQt5を使っていきたいなと思います。 あと少し、お力添えください。 自分なりに工夫した結果、エラー内容が変わりましたので、修正をくわえさせていただきました。
hayataka2049

2019/01/02 01:19

macだとデフォルトで入っているtcl/tkのバージョンが古くて(8.5)云々みたいな話をこのサイトでもたまに見かけるので、それ絡みのエラーですかね。tcl/tkを適切にアップグレードした上でpythonを再インストールする、みたいな手順が必要になるはず。ただ、私はmacユーザではないので、基本的にお力添えできません。悪しからず。
houki

2019/01/02 08:58

最終的にpyQt5を使うことにしまして、しっかりグラフ作成できましたので、満足しています。 どうもありがとうございました。
guest

回答1

0

ベストアンサー

それを踏んじゃうと、最悪の場合解決するためには環境構築からやり直す必要があります。

幸いmatplotlibはtk以外のバックエンドでも使えるので、今後tkinterを使う予定がなければその方法で逃げるのも一つの手です。

Usage Guide — Matplotlib 3.0.2 documentation

python]

1# 以下のようにimportを書く 2import matplotlib as mpl 3mpl.use('使いたいバックエンドの名前') # pltのimportより先に 4import matplotlib.pyplot as plt
  • PyQt5を入れてQt5Aggを使うのがおそらく無難です。
  • macosxはどんなやつか知りませんが、mac環境前提でデフォルトで使えるっぽい?

投稿2019/01/01 03:15

hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問