🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Matplotlib

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

Python 3.x

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Python

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

Q&A

解決済

1回答

9484閲覧

Python matplotlibでのグラフが描画できない

Ma_sa

総合スコア14

Matplotlib

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

Python 3.x

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Python

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

0グッド

0クリップ

投稿2019/09/03 04:34

編集2019/09/04 03:32

Pythonファイルでmaplotlibのグラフ描画を行いたいです。
どなたかお知恵を貸していただけないでしょうか。

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

プログラムを実行したとき、エラーなどは出ておらずグラフが表示されない状態です。

実行環境

Ubuntu 18.04 (WSL)
python3.7.2(pyenv)
python3.7.4(pyenv)
matplotlib 3.1.1

(Python環境が2つあることについては後述します。)

該当のソースコード

python

1import matplotlib.pyplot as plt 2x=[1,2] 3y=[2,3] 4plt.scatter(x, y) 5plt.show()

試したこと

  1. matplotlibrcでbackend: tkaggの変更を行い, python-tk, tk-devをインストールしての実行。(Python3.7.2での実行)

  2. pyenvで新しいpython3.7.4のインストール, python-tk tk-devのアンインストールを行った後に1をもう一度行う。

補足情報

Jupyter Notebookではグラフを表示することができました。

以下参考にした記事です。

ほかに判断材料が必要な場合がありましたらぜひともコメントの方をよろしくお願いします。

追記

以下質問を受けての追記です。

  • tkinterの動作確認

インタラクティブで以下を実行

import tkinter as tk
root=tk.Tk()

2行目を実行したときに
_tkinter.TclError: no display name and no $DISPLAY environment variable というエラーが出てきました。

  • $DISPLAYやbackendについて

(1)echo $DISPLAY の結果
何も起こりませんでした。プログラムを実行しましたが同様でした。

(2)backendの記述をコメントアウトした際の結果
プログラムを実行しましたが何も起こりませんでした。

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

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

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

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

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

magichan

2019/09/03 05:07 編集

現在tkinterは動作ているのでしょうか? 例えば import tkinter as tk;root = tk.Tk();root.mainloop() を実行したら Windowsは描画されますか
t_obara

2019/09/03 05:47

以下ご提示ください ・echo $DISPLAY の結果 ・backendの記述をコメントアウトした際の結果
Ma_sa

2019/09/03 06:16

質問ありがとうございます。 インタラクティブで実行したところ >>>import tkinter as tk >>>root=tk.Tk() 2行目を実行したときに _tkinter.TclError: no display name and no $DISPLAY environment variable というエラーが出てきました。
Ma_sa

2019/09/03 06:22

質問ありがとうございます。 ・echo $DISPLAY の結果 実行しましたが何も起こりませんでした。プログラムも実行しましたがやはり何も起こりませんでした。 ・backendの記述をコメントアウトした際の結果 コメントアウトした後にプログラムを実行しましたがやはり何も起こりませんでした。
t_obara

2019/09/03 07:42

DISPLAY環境変数が適切に設定されていないことが問題に思われます。
tiitoi

2019/09/03 08:26

Python を実行している PC にリモートでアクセスして実行していたりしないでしょうか。
guest

回答1

0

自己解決

matplotlibでのグラフを描画することができました。

問題だったのはGUIを表示するのに必要なものがインストールされていませんでした。
私はWindows Subsystem for Linux(wsl)でubuntuを使っています。

wslでGUIを使うときはいくつかインストールしなければならないものがあり、それをインストールしたことで問題は解決できました。

以下参考にした記事です。
WSL上にXサーバをインストールしてGUIを実現する(VcXsrv編)

皆様の質問がなければ、この部分に気づくことができませんでした。
本当にありがとうございます。

投稿2019/09/04 03:39

Ma_sa

総合スコア14

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問