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

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

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

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

Ubuntu

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

Python

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

Q&A

1回答

901閲覧

グラフが描画されない

grape_ll

総合スコア83

Matplotlib

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

Ubuntu

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

Python

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

0グッド

0クリップ

投稿2021/02/07 06:59

編集2021/02/07 07:15

オライリーのゼロから作るディープラーニングという本を勉強し始めました.
正弦関数の描画を行おうと思ったのですが実行しても画像が表示されませんでした.
他の方の同じような質問をいくつか拝見させていただいたのですが,まだ知らないことが多く理解できなかったので質問させていただきました.
コードはVScodeで書いて,Ubuntuで実行しています.
matplotlibはinstall済みです.
コードと結果を以下に記します.

python

1import numpy as np 2import matplotlib.pyplot as plt 3x = np.array([1.0, 2.0, 3.0]) 4print(x) 5type(x) 6y = np.array([2.0, 4.0, 6.0]) 7print(x + y) 8x = np.arange(0, 6, 0.1) 9y = np.sin(x) 10plt.plot(x, y) 11plt.show() 12

結果
[1. 2. 3.]
[3. 6. 9.]

試したこと

https://www.dogrow.net/python/blog47/
このサイトで書いてある手順1を実行したところ,
yum install tk.x86_64

Command 'yum' not found, did you mean:

command 'zum' from deb perforate (1.2-5.1)
command 'num' from deb quickcal (2.4-1)
command 'uum' from deb freewnn-jserver (1.1.1~a021+cvs20130302-7build1)
command 'sum' from deb coreutils (8.30-3ubuntu2)

Try: sudo apt install <deb name>

と表示され,
代わりにpython3 -m pip install tk.x86_64
で実行してみたら
ERROR: Could not find a version that satisfies the requirement tk.x86_64 (from versions: none)
ERROR: No matching distribution found for tk.x86_64
と表示されてしまいました.

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

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

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

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

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

grape_ll

2021/02/11 06:29

修正依頼でなく,解決方法の方に記述していただけるとありがたいです.
meg_

2021/02/11 07:26

> 修正依頼でなく,解決方法の方に記述していただけるとありがたいです. 当方は環境が異なるため検証不可であり、参考情報としてコメントいたしました。 解決したのであれば具体的な方法やその経緯を自己解決として回答されると、他の人の役に立つかと思います。未解決であれば他の有識者の回答をお待ちください。
grape_ll

2021/02/11 07:37

この欄は質問に情報が不足している場合に,情報の要求をするところであると認識しているので,環境が異なっていて検証が不可能な場合でも回答の方に記述するのに適していると考えています. とはいえ,参考となるサイトを紹介していただけたのはとても助かります.サイトを読んで検証してみようと思います.ありがとうございます.
guest

回答1

0

コードは私の環境で実行したところ(MacOS, Python3, tkinter, numpyインストール済み)問題なく関数のグラフがプロットされたので開発環境の問題と思います。

yum install tk.x86_64

Command 'yum' not found, did you mean:

の箇所は単純にyumがOSにインストールされていないから発生したエラーだと思います。yumはRedHut系のLinuxディストリビューションで使用されるパッケージマネージャのコマンドなので、Ubuntuで上記のコマンドを入力するとyumがインストールされている場合を除きエラーになります。

https://www.dogrow.net/python/blog47/ に記載のとおり、tcl/tkというLinux向けのGUIツールキットが適切に設定されてない事がおそらく原因で表示されていないと思われます。

この場合は、Ubuntu向けのtcl/tk環境を用意すれば良いわけですから、apt-getでインストールすれば良いかと思います。
こんな感じで、yumコマンドではなく、apt-getコマンド(tkとtclのversionは適切なものを選んでください。)でインストールすれば良いかと思います。

$ sudo apt-get update $ sudo apt-get install tk tcl tk8.6-dev tcl8.6-dev

それでも表示されない場合は、https://www.dogrow.net/python/blog47/ の手順2以降も試されてはいかがでしょうか?

参考文献

言語は違いますが、Ubuntu上でtcl/tkをインストールするという趣旨は同じなので参考になるかと思います。

投稿2021/02/11 19:37

yuwki0131

総合スコア160

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

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

grape_ll

2021/02/12 06:36

$ sudo apt-get update $ sudo apt-get install tk tcl tk8.6-dev tcl8.6-dev を実行し,pyファイルを実行してみたところ,結果は変わらず,サイトを参考にして以下のようにbackendを書き換えたのですが,まだ表示されませんでした. なにか足りない作業がまだあるのでしょうか. ## *************************************************************************** ## * BACKENDS * ## *************************************************************************** ## The default backend. If you omit this parameter, the first working ## backend from the following list is used: ## MacOSX Qt5Agg Gtk3Agg TkAgg WxAgg Agg ## Other choices include: ## Qt5Cairo GTK3Cairo TkCairo WxCairo Cairo ## Qt4Agg Qt4Cairo Wx # deprecated. ## PS PDF SVG Template ## You can also deploy your own backend outside of matplotlib by referring to ## the module name (which must be in the PYTHONPATH) as 'module://my_backend'. ##backend: Agg backend:Tkagg
yuwki0131

2021/02/12 07:06

なるほど。。。 apt-getコマンドはエラーもなく実行完了できた、ということでしょうか? もし、コマンド実行時に何かしらエラーが発生していれば、もしかするとそれが原因かもしれません。 ちなみに????のサイトにある、mathplotlibの再インストールはされましたでしょうか? https://www.dogrow.net/python/blog47/
yuwki0131

2021/02/12 07:08

あとは、以下のコマンドなんてどうでしょう? https://python.keicode.com/advanced/tkinter-install.php $ sudo apt-get install python3-tk もし、pythonにtk用のライブラリが入っていないのであれば、上記のコマンド実行で改善する可能性はあります。。。
grape_ll

2021/02/13 06:08

エラーはなかったと思うのですが,一応もう一度やってみました.以下のようになります. $ sudo apt-get update Hit:1 http://ftp.jaist.ac.jp/pub/Linux/ubuntu focal InRelease Get:2 http://ftp.jaist.ac.jp/pub/Linux/ubuntu focal-updates InRelease [114 kB] Get:3 http://ftp.jaist.ac.jp/pub/Linux/ubuntu focal-backports InRelease [101 kB] Get:4 http://ftp.jaist.ac.jp/pub/Linux/ubuntu focal-security InRelease [109 kB] Get:5 http://ftp.jaist.ac.jp/pub/Linux/ubuntu focal-updates/universe amd64 Packages [739 kB] Fetched 1062 kB in 3s (331 kB/s) Reading package lists... Done $ sudo apt-get install tk tcl tk8.6-dev tcl8.6-dev Reading package lists... Done Building dependency tree Reading state information... Done tcl8.6-dev is already the newest version (8.6.10+dfsg-1). tk8.6-dev is already the newest version (8.6.10-1). tcl is already the newest version (8.6.9+1). tk is already the newest version (8.6.9+1). 0 upgraded, 0 newly installed, 0 to remove and 65 not upgraded. $ sudo apt-get install python3-tk のみを最初に行って実行→結果変わらず matplotlibの再インストール $ python3 setup.py build python3: can't open file 'setup.py': [Errno 2] No such file or directory sudo python3 setup.py install python3: can't open file 'setup.py': [Errno 2] No such file or directory のようになってしまいました. $ python3 -m tkinter Traceback (most recent call last): File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/lib/python3.8/runpy.py", line 87, in _run_code exec(code, run_globals) File "/usr/lib/python3.8/tkinter/__main__.py", line 7, in <module> main() File "/usr/lib/python3.8/tkinter/__init__.py", line 4552, in _test root = Tk() File "/usr/lib/python3.8/tkinter/__init__.py", line 2261, in __init__ self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use) _tkinter.TclError: no display name and no $DISPLAY environment variable
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問