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

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

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

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

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

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

Q&A

解決済

2回答

5722閲覧

ValueError: too many values to unpack

退会済みユーザー

退会済みユーザー

総合スコア0

Matplotlib

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

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

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

0グッド

0クリップ

投稿2017/04/27 09:01

ValueError: too many values to unpack のエラーが出ました。

# coding: utf-8 from __future__ import absolute_import from __future__ import division from __future__ import print_function import os import numpy as np import numpy.random as random import matplotlib.pyplot as plt x = np.linspace(0,np.pi*2,10) plt.title('Sin curve') plt.plot(x,np.sin(x),c='navy',marker='*',label='sin') plt.plot(x,np.sin(-x),c='#9400D3',linestyle='-',label='-sin') plt.plot(x,np.cos(x),c=(1.0,0.5,0.0),label='cos') plt.xlabel('x value') plt.xlabel('y value',size=15) plt.xlim((0,2*np.pi,5)) plt.xticks(np.linspace(0,2*np.pi,5),['0','pi/2','pi','3 pi/2','2pi']) plt.legend(loc='upper right',shadow=True) plt.show()

と書いたコードを実行すると

Traceback (most recent call last): File "test6.py", line 20, in <module> plt.xlim((0,2*np.pi,5)) File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/pyplot.py", line 1453, in xlim ret = ax.set_xlim(*args, **kwargs) File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/axes.py", line 2519, in set_xlim left, right = left ValueError: too many values to unpack

とエラーが出ました。
お手本のコードを写経したので
なぜこのエラーが出たのかわかりません。
このコードでxlim でx軸の表示範囲は指定したのに、
y軸の表示範囲であるylimは指定していないのでそれのエラーなのでしょうか?

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

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

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

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

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

guest

回答2

0

ベストアンサー

()が多いです。
plt.xlim((0,2*np.pi,5))ではなくplt.xlim(0,2*np.pi,5)です。
もしかしたらエディタのおせっかい(入力補完)で()が勝手についたのでしょう。

2017/04/27 18:29追記:以上3行を以下1行のように訂正します(頭丸めてきます)

plt.xlim((0,2*np.pi))またはplt.xlim(0,2*np.pi)の打ち間違いでしょう。

気を抜かずに写経しましょう。

参考:写経の心得

文字ひとつひとつを仏さまと思ってていねいに書きます。
間違えがないかよく確認します。 よければ、最後に合掌をしましょう。

投稿2017/04/27 09:12

編集2017/04/27 09:30
can110

総合スコア38262

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

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

0

エラーは

Python

1plt.xlim((0,2*np.pi,5))

の行です。
xlim() はX座標の (始点,終点) の2値のタプルを引数で渡すのですが、
(0, 2*np.pi, 5)
と3つの数値(のタプル)を渡しているためエラーとなっているようです。

投稿2017/04/27 09:18

編集2017/04/27 09:22
magichan

総合スコア15898

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問