名作トイ・ストーリー4の海外興収をPlotlyで円グラフ化する

世界興行収入1000億円超えの超ヒット作、ディズニーの名作「トイ・ストーリー4」の海外興行収入をplotlyの円グラフ機能を使ってプロットしたいと思います。トイ・ストーリー4の世界興収は、10億5350万ドルで2019年堂々の第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、ダンボも低調だったことを考えると、今の日本人は動物映画にそれ程興味がないのかもしれません。一昔前は、太郎と次郎で有名な「南極物語」や、チャトランの「子猫物語」が大ヒットしていたのが懐かしく思われます。

スポンサーリンク
スポンサーリンク

コメント

タイトルとURLをコピーしました