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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

2371閲覧

ヒストグラムを活用。データを指定し、並べて表示。

bobu_

総合スコア1

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/06/30 23:44

前提・実現したいこと

プロットエリアを2つに分け、Urawaに関して「Homeで試合をしたときの得点のヒストグラム」と「Awayで試合をしたときの得点のヒストグラム」を表示したい。
ヒストグラムの表示には Matplotlib の hist を使い、figureで2つのグラフを「並べて」表示すること。

データを指定し、2つのヒストグラムを完成させたい。

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

エラーメッセージ

該当のソースコード

y1=data.query("Home == 'Urawa' ") y2 =data.query("Away == 'Urawa'") fig = plt.figure() plt.hist(y1) plt.hist(y2) plt.show() `` ### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) データの一部 data =pd.read_csv('dataset/J1_data.csv' ) deta.head() Home Away Home_Goals Away_Goals 0 G-Osaka Kobe 2 3 1 Hiroshima Urawa 1 0 2 Nagoya Shimizu 1 0 3 Sagan Tosu C-Osaka 0 0 4 Sapporo Iwata 0 0

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

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

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

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

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

guest

回答2

0

投稿2020/07/01 00:13

aokikenichi

総合スコア2218

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

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

0

ベストアンサー

こんな感じで良いかと思います。

Python

1y1 = data.query("Home == 'Urawa'") 2y2 = data.query("Away == 'Urawa'") 3fig, ax = plt.subplots(2, 1) 4y1.plot.hist(ax=ax[0]) 5y2.plot.hist(ax=ax[1])

以下、動作サンプル

Python

1import pandas as pd 2import numpy as np 3import matplotlib.pyplot as plt 4 5df = pd.read_html("http://data.j-league.or.jp/SFMS01/search?competition_years=2019&competition_frame_ids=1&team_ids=3&home_away_select=0&lang=en")[0] 6df[['HomeScore','AwayScore']] = df['Score'].str.split('-', expand=True).astype(int) 7 8y1 = df.query("Home == 'Urawa'")['HomeScore'] 9y2 = df.query("Away == 'Urawa'")['AwayScore'] 10 11fig, ax = plt.subplots(2, 1) 12plt.title("Urawa Red Diamonds") 13y1.plot.hist(bins=np.arange(0,5) - 0.4, width=0.8, ax=ax[0]) 14y2.plot.hist(bins=np.arange(0,5) - 0.4, width=0.8, ax=ax[1]) 15ax[0].set_title('Home Game') 16ax[1].set_title('Away Game') 17ax[0].set_xlim(-0.5,5) 18ax[1].set_xlim(-0.5,5) 19ax[0].set_ylim(0,10) 20ax[1].set_ylim(0,10) 21ax[0].set_xlabel('Score') 22ax[1].set_xlabel('Score') 23plt.tight_layout() 24plt.show()

イメージ説明

投稿2020/07/01 03:44

magichan

総合スコア15898

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

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

bobu_

2020/07/02 02:56

ありがとうございます。 参考になりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問