前提・実現したいこと
取り込んだramen.csvを解析し、度数分布が表示されるようにしたい
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
TypeError: 'value' must be an instance of str or bytes, not a float
エラーメッセージ
該当のソースコード
#-- 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/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー