常に最新!劇場版名探偵コナン歴代興行収入の推移をグラフ化する

1997年に公開された劇場版名探偵コナン第一作「時計じかけの摩天楼」以降、毎年欠かさずに上映されている名探偵コナン映画の最新の歴代興行収入の推移をプロットする。常に最新情報がプロットされるように興収情報をチェックしていくつもりである。

スポンサーリンク

データの下準備

先ず、データを以下のサイトからダウンロードする。

import pandas as pd
import requests

df = pd.read_html(requests.get(
 'http://www.eiga-ranking.com/boxoffice/japan/alltime/total/1.html').content)
df[1].head(2)
順位 興行収入(億円) タイトル 公開年
0 1 304.0 千と千尋の神隠し 2001
1 2 272.0 タイタニック 1997
df1 = df[1]
df2 = pd.read_html(requests.get(
 'http://www.eiga-ranking.com/boxoffice/japan/alltime/total/2.html').content)
df2[1].head(2)
順位 興行収入(億円) タイトル 公開年
0 101 64.4 ファンタスティック・ビーストと黒い魔法使いの誕生 2018
1 102 63.2 スター・ウォーズ エピソード6 ジェダイの帰還 1983
df3 = df2[1]
df4 = pd.read_html(requests.get(
 'http://www.eiga-ranking.com/boxoffice/japan/alltime/total/3.html').content)
df4[1].head(2)
順位 興行収入(億円) タイトル 公開年
0 201 41.5 テッド 2013
1 202 41.5 ターミナル 2004
df5 = df4[1]
df6 = pd.read_html(requests.get(
 'http://www.eiga-ranking.com/boxoffice/japan/alltime/total/4.html').content)
df6[1].head(2)
順位 興行収入(億円) タイトル 公開年
0 301 33.3 SP 革命篇 2011
1 302 33.2 バニラ・スカイ 2001
df7 = df6[1]
df8 = pd.read_html(requests.get(
 'http://www.eiga-ranking.com/boxoffice/japan/alltime/total/5.html').content)
df8[1].head(2)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-1-d23619f1412e> in <module>
----> 1 df8 = pd.read_html(requests.get(
      2  'http://www.eiga-ranking.com/boxoffice/japan/alltime/total/5.html').content)
      3 df8[1].head(2)

NameError: name 'pd' is not defined
df9 = df8[1]
df10 = pd.concat([df1,df3,df5,df7,df9])
df10 = df10.reset_index(drop=True)
df11 = df10[(df10['タイトル'].str.contains("名探偵コナン"))]
df11 = df11.drop(213)
df11 = df11.drop(columns=['順位'])
df11['興行収入(億円)'].iloc[0] = 91.8
df11 = df11.sort_values(by='公開年',ascending=False)
df11
興行収入(億円) タイトル 公開年
43 91.8 名探偵コナン ゼロの執行人 2018
96 66.3 名探偵コナン から紅の恋歌 2017
170 45.0 名探偵コナン 業火の向日葵 2015
216 40.2 名探偵コナン 異次元の狙撃手 2014
262 35.7 名探偵コナン 絶海の探偵 2013
305 32.9 名探偵コナン 11人目のストライカー 2012
325 31.5 名探偵コナン 沈黙の15分 2011
317 32.0 名探偵コナン 天空の難破船 2010
271 35.0 名探偵コナン 漆黒の追跡者 2009
471 24.2 名探偵コナン 戦慄の楽譜 2008
450 25.3 名探偵コナン 紺碧の棺 2007
358 30.3 名探偵コナン 探偵たちの鎮魂歌 2006
405 28.0 名探偵コナン 銀翼の奇術師 2004
316 32.0 名探偵コナン 迷宮の十字路 2003
291 34.0 名探偵コナン ベイカー街の亡霊 2002
381 29.0 名探偵コナン 天国へのカウントダウン 2001
462 25.0 名探偵コナン 瞳の中の暗殺者 2000
464 24.7 名探偵コナン 世紀末の魔術師 1999

データをセーブする。

df11.to_csv('conan_movie.csv', index=False)

名探偵コナン映画は、全部で23作品ないといけないのだが、5作品ほど抜けているので、ネットから適当にデータを漁ってきて足りないデータを付け足す必要がある。

import pandas as pd
import requests

df11 = pd.read_csv('conan_movie.csv',encoding='utf-8')
data = {'興行収入(億円)':['11.0','18.5','21.5','63.3','92.4'],
        'タイトル':['時計じかけの摩天楼','14番目の標的','水平線上の陰謀','純黒の悪夢','紺青の拳'],
        '公開年':['1997','1998','2005','2016','2019']}
df12 = pd.DataFrame(data)
df12
興行収入(億円) タイトル 公開年
0 11.0 時計じかけの摩天楼 1997
1 18.5 14番目の標的 1998
2 21.5 水平線上の陰謀 2005
3 63.3 純黒の悪夢 2016
4 92.4 紺青の拳 2019
df14 = pd.concat([df11,df12])
df14 = df14.reset_index(drop=True)
df14['タイトル'] = df14['タイトル'].str.replace('名探偵コナン ','')
df14['公開年'] = df14['公開年'].apply(pd.to_numeric, errors="coerce").astype(int)
df14 = df14.sort_values(by='公開年',ascending=False)
df14['興行収入(億円)'] = df14['興行収入(億円)'].apply(pd.to_numeric, errors="coerce").astype(float)
#df14['興行収入(億円)'].iloc[0] = 85.8
スポンサーリンク

1997年以降の興行収入推移をプロット

from matplotlib.pyplot import *
from matplotlib.font_manager import FontProperties
from matplotlib import rcParams
import matplotlib.patches as mpatches
style.use('ggplot')

rcParams["font.size"] = "18"
fp = FontProperties(fname='/usr/share/fonts/opentype/ipaexfont-gothic/ipaexg.ttf', size=54)
rcParams['font.family'] = fp.get_name()
rcParams["font.size"] = "25"
fig, ax = subplots(figsize=(20,15))
df14.set_index('タイトル').plot(ax=ax,y='興行収入(億円)',kind='barh',color='pink',width=.7)
rc('xtick', labelsize=25)
rc('ytick', labelsize=25)
xticks(np.arange(0,10e1,2e1/2),
   ['{}億'.format(int(x)) if x > 0 else 0 for x in np.arange(0,10e2,2e1/2)])
for j,i in enumerate(ax.patches):
    ax.text((i.get_width()+.7 if int(i.get_width()) < 80 else i.get_width()-22),i.get_y()+.125,\
    '{}億円 ({}年)'.format(float(str(i.get_width())),df14['公開年'].iloc[j]), fontsize=20, color='k');

23作目となる名探偵コナン映画「紺青の拳」は、気が付けば、9月1日時点で安室さん主演の前作「ゼロの執行人」を追い抜いていた。今後、この数字を超えられるかどうかに全国1千万人のコナンファンの注目が集まっていたが、無事、超えることが出来たようだ。ちなみに、前作「ゼロの執行人」の世界興収は1億ドル(110億円)の大台を超えている。今のところ、海外興収は21億円と取るに足りない数字ではあるが、これから数年間で、中国でどこまで興収を伸ばせるかで、ポケモン名探偵ピカチュウの世界興収を超えられるかが掛かっている。30作目には、夢の世界興収4億ドルも夢ではないかもしれない。そのためには、コナンの映画製作者は、海外で売れる映画作りをする必要があることは言うまでもない。世界中のアニメオタクから評価の高い日本のアニメ映画ではあるが、残念ながら,現段階ではただの独りよがりのガラニメ(ガラパゴスアニメ)に過ぎない。オタク層だけではなく、一般にも受け入れられるようにならないと、Frozenのように世界興収が$1,276,480,335(1382億円)を超えるアニメは作れない。

※7月7日時点で、国内興収2位のアラジンが85.6億円と猛追しているので、コナンの国内興収首位の座は今週中に陥落することになる。アラジン如きに敗れるとは非情に無念である。

※9月1日時点で、国内興収1位のアラジンが120.9億円だが、2位の天気の子が116.6億円と猛追しているので、アラジンの国内興収首位の座は今週中に陥落し、天気の子が今年の国内興収1位に収まりそうである。


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