前提・実現したいこと
取り込んだramen.csvを解析し、度数分布が表示されるようにしたい
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラーメッセージ
The default interactive shell is now zsh.
To update your account to use zsh, please run chsh -s /bin/zsh
.
For more details, please visit https://support.apple.com/kb/HT208050.
toko/opt/anaconda3/bin/activateAir:kivy sandairisatoko$ source /Users/sandairisa
/Users/sandairisatoko/opt/anaconda3/envs/Kivy/bin/python /Users/sandairisatoko/Desktop/kivy/image/vanalysis09.py
(base) sandairisatokonoMacBook-Air:kivy sandairisatoko$ /Users/sandairisatoko/opt/anaconda3/envs/Kivy/bin/python /Users/sandairisatoko/Desktop/kivy/image/vanalysis09.py
conda activate Kivy
/Users/sandairisatoko/opt/anaconda3/envs/Kivy/bin/python /Users/sandairisatoko/Desktop/kivy/image/vanalysis09.py
Traceback (most recent call last):
File "/Users/sandairisatoko/Desktop/kivy/image/vanalysis09.py", line 56, in <module>
ax.hist(X.iloc[:,i], bins=10, color='#000000')
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/init.py", line 1447, in inner
return func(ax, *map(sanitize_sequence, args), **kwargs)
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/axes/_axes.py", line 6576, in hist
self._process_unit_info(xdata=x[0], kwargs=kwargs)
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/axes/_base.py", line 2189, in _process_unit_info
kwargs = _process_single_axis(xdata, self.xaxis, 'xunits', kwargs)
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/axes/_base.py", line 2172, in _process_single_axis
axis.update_units(data)
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/axis.py", line 1466, in update_units
default = self.converter.default_units(data, self)
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/category.py", line 107, in default_units
axis.set_units(UnitData(data))
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/category.py", line 176, in init
self.update(data)
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/category.py", line 211, in update
cbook._check_isinstance((str, bytes), value=val)
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/cbook/init.py", line 2251, in _check_isinstance
type_name(type(v))))
TypeError: 'value' must be an instance of str or bytes, not a float
(base) sandairisatokonoMacBook-Air:kivy sandairisatoko$ conda activate Kivy
(Kivy) sandairisatokonoMacBook-Air:kivy sandairisatoko$ /Users/sandairisatoko/opt/anaconda3/envs/Kivy/bin/python /Users/sandairisatoko/Desktop/kivy/image/vanalysis09.py
Traceback (most recent call last):
File "/Users/sandairisatoko/Desktop/kivy/image/vanalysis09.py", line 56, in <module>
ax.hist(X.iloc[:,i], bins=10, color='#000000')
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/init.py", line 1447, in inner
return func(ax, *map(sanitize_sequence, args), **kwargs)
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/axes/_axes.py", line 6576, in hist
self._process_unit_info(xdata=x[0], kwargs=kwargs)
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/axes/_base.py", line 2189, in _process_unit_info
kwargs = _process_single_axis(xdata, self.xaxis, 'xunits', kwargs)
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/axes/_base.py", line 2172, in _process_single_axis
axis.update_units(data)
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/axis.py", line 1466, in update_units
default = self.converter.default_units(data, self)
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/category.py", line 107, in default_units
axis.set_units(UnitData(data))
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/category.py", line 176, in init
self.update(data)
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/category.py", line 211, in update
cbook._check_isinstance((str, bytes), value=val)
File "/Users/sandairisatoko/opt/anaconda3/envs/Kivy/lib/python3.6/site-packages/matplotlib/cbook/init.py", line 2251, in _check_isinstance
type_name(type(v))))
TypeError: 'value' must be an instance of str or bytes, not a float
(Kivy) sandairisatokonoMacBook-Air:kivy sandairisatoko$
該当のソースコード
ソースコード #-*- coding: utf-8 -*- # matplotlibで作図する練習06:いろいろな度数分布図を描く(複数グラフ) # システム関係のコマンドライブラリ import sys # データベースライブラリ pandas import pandas as pd # 計算用のライブラリ numpy import numpy as np # 作図ライブラリ matplotlib import matplotlib.pyplot as plt # 日本語フォントを設定するためのライブラリ from matplotlib.font_manager import FontProperties fp = FontProperties(fname=r'./fonts/mplus-2p-black.ttf', size=10) # figureオブジェクトを生成する fig = plt.figure() # データを読み込む try: ramen = pd.read_csv('./data/ramen.csv') except: print('Data File Read Error: Exit') sys.exit() # 前回の課題からの再利用:度数分布を作成する対象のみを抜き出したデータフレームをつくる X = ramen.loc[:, ['Brand','Variety','Style','Country','Stars','Top Ten']] # 作図用に日本語のラベルをつくる ramen_vnames=['雰囲気','清潔さ','設備','場所','安全','スタッフ','値打ち感'] # figureを生成する:普通の棒グラフを使った度数分布 fig, axes = plt.subplots(3,3) cmax = len(X.columns) for i, ax in enumerate(axes.flat): if i >= cmax: break else: #sns.violinplot(X.iloc[:,i], showmedians=True, color='#ED7D31', ax=ax) ax.hist(X.iloc[:,i], bins=10, color='#000000') #ax.boxplot(X.iloc[:,i], showfliers=False, patch_artist=True, boxprops=dict(facecolor='#70AD47')) ax.set_title(ramen_vnames[i], fontproperties=fp) ax.set_xlabel('評定値', fontproperties=fp,color='#70AD47') ax.set_ylabel('度数', fontproperties=fp, color='#70AD47') # 余白を調整する plt.subplots_adjust(wspace=0.6, hspace=1.0) # 表示する plt.show()
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー