トイ・ストーリー4の海外興収をPlotlyの円グラフでプロットする

トイ・ストーリー4の海外興行収入をplotlyの円グラフ機能を使ってプロットする。トイ・ストーリー4の世界興収は、10億5350万ドルで第5位である。海外興収のトップは日本となっており、アラジンに次ぐ興行収入を叩き出している。日本人のディズニー映画好きを如実に物語る数字となっている。

スポンサーリンク

トイ・ストーリー4データの準備

先ず、以下のサイトから必要なデータをダウンロードして加工する。

import pandas as pd
import requests

df = pd.read_html(requests.get(\
 'https://www.boxofficemojo.com/movies/?page=intl&id=pixar2017.htm').content)
df1 = df[6]
df2 = df1.drop([1,2,3,4,6], axis=1)
df2.columns = ['国名', '興行収入']
df3= df2.drop([0,1,2])
df3['興行収入'] = df3['興行収入'].str.replace('$','').str.replace(',','')
df3['興行収入'] = df3['興行収入'].apply(pd.to_numeric, errors="coerce").astype(int)

興行収入10億円以下の国の興行収入を合算する。

df4['興行収入'][14:].sum()
86210198

興行収入10億円以下の国はその他扱いにする。

df5 = df4[:14]
df5.loc[len(df5)]=['その他',86210198]

見やすさを考慮して、ドルを円に換算する。

texts = df5['興行収入']*107.4
texts = texts.apply(pd.to_numeric, errors="coerce").astype(int)
for i in range(len(texts)):
    texts[i] = '{:}.{:}億円'.format(int(str(texts[i])[:-8]),int(str(texts[i])[-8:-7]))

plotlyの円グラフでプロットする

import plotly.graph_objects as go
from plotly.offline import plot,iplot

fig = go.Figure(data=[go.Pie(labels=df5['国名'], 
                             values=df5['興行収入'],
                             text = texts, hole=.3)])
fig.update_traces(hoverinfo='label+percent+text', textinfo='label', textfont_size=28,
                  marker=dict(colors=colors, line=dict(color='#000000', width=2)))
fig.update_layout(showlegend=False,hoverlabel=dict(font=dict(size=28)))
plot(fig,show_link=False,filename="1.html",include_plotlyjs=False)

日本、UK、メキシコ、ブラジル、フランス、中国、アルゼンチン、オーストラリア、韓国、スペイン、チリ、コロンビア、香港、台湾が興行収入10億円を突破している。中国はライオンキング、韓国はアラジンが強かったが、トイ・ストーリー4は好みではないようだ。日本は、アラジンとトイストーリー4は最強なのだが、ライオンキングの興収が芳しくない。ペット2、ダンボも低調だったことを考えると、今の日本人は動物映画にそれ程興味がないのかもしれない。