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

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

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

Kivyは、Pythonを用いたNUI開発のためのオープンソースフレームワーク。マルチタッチなど多くの入力に対応したNUIアプリなどを開発することができます。多くの環境で動作するクロスプラットフォームです。

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python 3.x

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

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1690閲覧

Python Kivyのgarden.matplotlibを用いたグラフの描画ができない

shut9

総合スコア14

Kivy

Kivyは、Pythonを用いたNUI開発のためのオープンソースフレームワーク。マルチタッチなど多くの入力に対応したNUIアプリなどを開発することができます。多くの環境で動作するクロスプラットフォームです。

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python 3.x

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

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/10/08 10:20

編集2018/10/08 18:40

前提・実現したいこと

Python Kivyのgarden.matplotlibを用いてグラフを描画したいと考えています。

発生している問題

こちら(https://myenigma.hatenablog.com/entry/2016/05/10/221433#matplotlib%E3%81%AE%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92kivy%E3%81%AE%E4%B8%80%E9%83%A8%E3%81%A8%E3%81%97%E3%81%A6%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B)のソースコードをそのまま使ってとりあえずプロットしようとしたら、以下のようなエラーが出てきました。
どのように解決するとよいのでしょうか。
宜しくお願いいたします。

エラー文

[INFO ] [Logger ] Record log in /Users/shu/.kivy/logs/kivy_18-10-08_34.txt [INFO ] [Kivy ] v1.10.1 [INFO ] [Python ] v3.6.1 (default, Mar 2 2018, 20:32:58) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] [INFO ] [Factory ] 194 symbols loaded [INFO ] [Image ] Providers: img_tex, img_imageio, img_dds, img_sdl2, img_gif (img_pil, img_ffpyplayer ignored) [INFO ] [Text ] Provider: sdl2 Traceback (most recent call last): File "graph.py", line 8, in <module> import matplotlib.pyplot as pl File "/Users/shu/.pyenv/versions/TensorFlow/lib/python3.6/site-packages/matplotlib/pyplot.py", line 2371, in <module> switch_backend(rcParams["backend"]) File "/Users/shu/.pyenv/versions/TensorFlow/lib/python3.6/site-packages/matplotlib/pyplot.py", line 207, in switch_backend backend_mod = importlib.import_module(backend_name) File "/Users/shu/.pyenv/versions/3.6.1/lib/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "/Users/shu/.pyenv/versions/TensorFlow/lib/python3.6/site-packages/kivy/garden/__init__.py", line 100, in load_module return self._load_module(fullname, moddir) File "/Users/shu/.pyenv/versions/TensorFlow/lib/python3.6/site-packages/kivy/garden/__init__.py", line 104, in _load_module ('', '', imp.PKG_DIRECTORY)) File "/Users/shu/.pyenv/versions/3.6.1/lib/python3.6/imp.py", line 244, in load_module return load_package(name, filename) File "/Users/shu/.pyenv/versions/3.6.1/lib/python3.6/imp.py", line 216, in load_package return _load(spec) File "/Users/shu/.kivy/garden/garden.matplotlib/__init__.py", line 1, in <module> from kivy.garden.matplotlib.backend_kivy import FigureCanvasKivy,\ File "/Users/shu/.kivy/garden/garden.matplotlib/backend_kivy.py", line 257, in <module> from matplotlib.font_manager import weight_as_number ImportError: cannot import name 'weight_as_number'

該当のソースコード

from kivy.app import App from kivy.uix.boxlayout import BoxLayout from kivy.uix.label import Label from kivy.config import Config import numpy as np import matplotlib matplotlib.use('module://kivy.garden.matplotlib.backend_kivy') import matplotlib.pyplot as pl import sys, os class GraphView(BoxLayout): def __init__(self, **kwargs): super(GraphView, self).__init__(orientation='vertical') self.add_widget(Label(text="embeded matplotlib sample")) self.add_widget(self.graph_plot_sample()) def graph_plot_sample(self): self.fig, ax = pl.subplots() x = np.linspace(-np.pi, np.pi) y = np.sin(x) ax.set_xlabel("X label") ax.set_ylabel("Y label") ax.grid(True) ax.plot(x, y) return self.fig.canvas class GraphApp(App): def build(self): height = 300 Config.set('graphics', 'height', height) Config.set('graphics', 'width', height * 2) return GraphView() if __name__ == '__main__': GraphApp().run()

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

MacBook Pro (macOS High Sierra 10.13.6)
Python 3.6.1
Cython 0.28.5
Kivy 1.10.1

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

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

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

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

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

guest

回答1

0

自己解決

以前pipでインストールしていたmatplotlibのバージョンが問題だったようです。
私のMacbook Proにインストールしていたバージョンは3.0.0でしたが、2.2.2にバージョンを下げると描画ができるようになりました。

投稿2018/10/08 18:57

shut9

総合スコア14

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問