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

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

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

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

Python

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

Q&A

解決済

1回答

4381閲覧

matplotlibでデータの可視化

fusy

総合スコア2

Matplotlib

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

Python

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

0グッド

0クリップ

投稿2021/11/25 07:28

編集2021/11/25 07:55

前提・実現したいこと

pythonでデータ分析を行っています
matplotlibを使って、データの可視化を行いたとい思っていますが、
下のエラーメッセージがでてきました。
エラーメッセージの意味を分解して教えて頂きたいです。

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

TypeError Traceback (most recent call last)
/tmp/ipykernel_36/997856417.py in <module>
1 x=data["日付"]
2 y=data["金額"]
----> 3 plt.plot(x,y,"o")
4 plt.show()

/opt/conda/lib/python3.7/site-packages/matplotlib/pyplot.py in plot(scalex, scaley, data, *args, **kwargs)
3019 return gca().plot(
3020 *args, scalex=scalex, scaley=scaley,
-> 3021 **({"data": data} if data is not None else {}), **kwargs)
3022
3023

/opt/conda/lib/python3.7/site-packages/matplotlib/axes/_axes.py in plot(self, scalex, scaley, data, *args, **kwargs)
1603 """
1604 kwargs = cbook.normalize_kwargs(kwargs, mlines.Line2D)
-> 1605 lines = [*self._get_lines(*args, data=data, **kwargs)]
1606 for line in lines:
1607 self.add_line(line)

/opt/conda/lib/python3.7/site-packages/matplotlib/axes/_base.py in call(self, data, *args, **kwargs)
313 this += args[0],
314 args = args[1:]
--> 315 yield from self._plot_args(this, kwargs)
316
317 def get_next_color(self):

/opt/conda/lib/python3.7/site-packages/matplotlib/axes/_base.py in _plot_args(self, tup, kwargs, return_kwargs)
496 self.axes.xaxis.update_units(x)
497 if self.axes.yaxis is not None:
--> 498 self.axes.yaxis.update_units(y)
499
500 if x.shape[0] != y.shape[0]:

/opt/conda/lib/python3.7/site-packages/matplotlib/axis.py in update_units(self, data)
1446 neednew = self.converter != converter
1447 self.converter = converter
-> 1448 default = self.converter.default_units(data, self)
1449 if default is not None and self.units is None:
1450 self.set_units(default)

/opt/conda/lib/python3.7/site-packages/matplotlib/category.py in default_units(data, axis)
107 # the conversion call stack is default_units -> axis_info -> convert
108 if axis.units is None:
--> 109 axis.set_units(UnitData(data))
110 else:
111 axis.units.update(data)

/opt/conda/lib/python3.7/site-packages/matplotlib/category.py in init(self, data)
183 self._counter = itertools.count()
184 if data is not None:
--> 185 self.update(data)
186
187 @staticmethod

/opt/conda/lib/python3.7/site-packages/matplotlib/category.py in update(self, data)
218 for val in OrderedDict.fromkeys(data):
219 # OrderedDict just iterates over unique values in data.
--> 220 _api.check_isinstance((str, bytes), value=val)
221 if convertible:
222 # this will only be called so long as convertible is True.

/opt/conda/lib/python3.7/site-packages/matplotlib/_api/init.py in check_isinstance(_types, **kwargs)
95 ", ".join(names[:-1]) + " or " + names[-1]
96 if len(names) > 1 else names[0],
---> 97 type_name(type(v))))
98
99

TypeError: 'value' must be an instance of str or bytes, not a float

該当のソースコード

python

x=data["日付"]
y=data["金額"]
plt.plot(x,y,"o")
plt.show()

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

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

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

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

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

jbpb0

2021/11/25 08:58

x=data["日付"] のすぐ上に print(data.dtypes) を追加して実行したら、何て表示されますでしょうか?
guest

回答1

0

ベストアンサー

  • エラーメッセージの意味を分解して教えて頂きたいです。

'value' must be an instance of str or bytes, not a float

Google翻訳すると

'value'は、floatではなく、strまたはbytesのインスタンスである必要があります

です。

エラーメッセージの全文がないのでこれ以上のことはわかりません。

追加

エラーメッセージを見てみましたが、なぜこのエラーになるのかが良くわかりません。
dataがpandasのデータフレームで、値が数値なら問題なく動作することは確認しました。
どのようにしてこのコードを実行しているのかを質問に追加してください。
また以下の実行結果も教えて下さい。

python

1print(type(data)) 2print(data["日付"])

投稿2021/11/25 07:44

編集2021/11/25 08:36
ppaul

総合スコア24670

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

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

fusy

2021/11/25 07:57

返信ありがとうございます float,str,bytes, instanceはどういう意味ですか?
fusy

2021/12/03 11:52

返信が遅くなってしまい申し訳ありません。 データの値を数値に変えたら、無事に動作しました。ご迷惑をおかけしました。ご回答頂きありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問