国产电影上映首周票房表现 -Top50
bar_china = ( Bar(init_opts=opts.InitOpts(width="1200px", height="600px", theme='light')) # 设置图表大小 .add_xaxis(xaxis_data=data_china['电影'].tolist()) # x轴 .add_yaxis( series_name="首映票房/亿", #柱形图系列名称 stack='stack1', y_axis=data_china['首映票房/亿'].tolist(), # 数据 label_opts=opts.LabelOpts(is_show=False,position='top',formatter="{c} 亿"), # 显示数据标签 itemstyle_opts={ "normal": { "color": JsCode("""new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#126bae' }, { offset: 1, color: '#619ac3' }], false)""", ), "opacity": 0.8, # "barBorderRadius": [20, 20, 0, 0], 'shadowBlur': 4, 'shadowColor': 'rgba(0, 0, 0, 0.3)', 'shadowOffsetX': 5, 'shadowOffsetY': 5, 'borderColor': 'rgb(220,220,220)', 'borderWidth': 1 }} ) .add_yaxis( series_name="首周票房/亿", #柱形图系列名称 stack='stack1', y_axis=data_china['首周票房/亿'].tolist(), # 数据 label_opts=opts.LabelOpts(is_show=False,position='top',formatter="{c} 亿"), # 显示数据标签 itemstyle_opts={ "normal": { "color": JsCode("""new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#ea7293' }, { offset: 1, color: '#ec8aa4' }], false)""", ), "opacity": 0.8, # "barBorderRadius": [20, 20, 0, 0], 'shadowBlur': 4, 'shadowColor': 'rgba(0, 0, 0, 0.3)', 'shadowOffsetX': 5, 'shadowOffsetY': 5, 'borderColor': 'rgb(220,220,220)', 'borderWidth': 1 }} ) .add_yaxis( series_name="首周末票房/亿", #柱形图系列名称 stack='stack1', y_axis=data_china['首周末票房/亿'].tolist(), # 数据 label_opts=opts.LabelOpts(is_show=False,position='top',formatter="{c} 亿"), # 显示数据标签 itemstyle_opts={ "normal": { "color": JsCode("""new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#9eccab' }, { offset: 1, color: '#a4cab6' }], false)""", ), "opacity": 0.8, # "barBorderRadius": [20, 20, 0, 0], 'shadowBlur': 4, 'shadowColor': 'rgba(0, 0, 0, 0.3)', 'shadowOffsetX': 5, 'shadowOffsetY': 5, 'borderColor': 'rgb(220,220,220)', 'borderWidth': 1 }} ) .reversal_axis() # .set_series_opts(label_opts=opts.LabelOpts(position="right")) .set_global_opts(title_opts=opts.TitleOpts(title="国产电影上映首周票房表现 -Top50",# 标题 title_textstyle_opts=opts.TextStyleOpts(font_size=20), #主标题字体大小 subtitle="", # 次坐标轴 pos_left='center'),# 标题位置 legend_opts=opts.LegendOpts( is_show=True, pos_top=30, orient="horizontal" ), # 不显示图例 tooltip_opts=opts.TooltipOpts( trigger="axis", axis_pointer_type="shadow" ),# 提示框 yaxis_opts=opts.AxisOpts(name='', type_='category', # axislabel_opts=opts.LabelOpts(rotate=30), ), xaxis_opts=opts.AxisOpts(type_="value", # y轴类型 # max_=5000000, name='', # y轴名称 name_location='middle', # y轴名称位置 name_gap=70, # y轴名称距离轴线距离 axistick_opts=opts.AxisTickOpts(is_show=False), # 刻度线 axisline_opts=opts.AxisLineOpts(is_show=False), # y轴线 splitline_opts=opts.SplitLineOpts(is_show=True), # y轴网格线 axislabel_opts=opts.LabelOpts(formatter="{value}")), # 轴标签显示方式 datazoom_opts=opts.DataZoomOpts(is_zoom_lock=False, orient="vertical") ) ) bar_china.render_notebook()
进口电影上映首周票房表现 -Top50
bar_foreign = ( Bar(init_opts=opts.InitOpts(width="1200px", height="600px", theme='light')) # 设置图表大小 .add_xaxis(xaxis_data=data_foreign['电影'].tolist()) # x轴 .add_yaxis( series_name="首映票房/亿", #柱形图系列名称 stack='stack1', y_axis=data_foreign['首映票房/亿'].tolist(), # 数据 label_opts=opts.LabelOpts(is_show=False,position='top',formatter="{c} 亿"), # 显示数据标签 itemstyle_opts={ "normal": { "color": JsCode("""new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#126bae' }, { offset: 1, color: '#619ac3' }], false)""", ), "opacity": 0.8, # "barBorderRadius": [20, 20, 0, 0], 'shadowBlur': 4, 'shadowColor': 'rgba(0, 0, 0, 0.3)', 'shadowOffsetX': 5, 'shadowOffsetY': 5, 'borderColor': 'rgb(220,220,220)', 'borderWidth': 1 }} ) .add_yaxis( series_name="首周票房/亿", #柱形图系列名称 stack='stack1', y_axis=data_foreign['首周票房/亿'].tolist(), # 数据 label_opts=opts.LabelOpts(is_show=False,position='top',formatter="{c} 亿"), # 显示数据标签 itemstyle_opts={ "normal": { "color": JsCode("""new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#ea7293' }, { offset: 1, color: '#ec8aa4' }], false)""", ), "opacity": 0.8, # "barBorderRadius": [20, 20, 0, 0], 'shadowBlur': 4, 'shadowColor': 'rgba(0, 0, 0, 0.3)', 'shadowOffsetX': 5, 'shadowOffsetY': 5, 'borderColor': 'rgb(220,220,220)', 'borderWidth': 1 }} ) .add_yaxis( series_name="首周末票房/亿", #柱形图系列名称 stack='stack1', y_axis=data_foreign['首周末票房/亿'].tolist(), # 数据 label_opts=opts.LabelOpts(is_show=False,position='top',formatter="{c} 亿"), # 显示数据标签 itemstyle_opts={ "normal": { "color": JsCode("""new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#9eccab' }, { offset: 1, color: '#a4cab6' }], false)""", ), "opacity": 0.8, # "barBorderRadius": [20, 20, 0, 0], 'shadowBlur': 4, 'shadowColor': 'rgba(0, 0, 0, 0.3)', 'shadowOffsetX': 5, 'shadowOffsetY': 5, 'borderColor': 'rgb(220,220,220)', 'borderWidth': 1 }} ) .reversal_axis() # .set_series_opts(label_opts=opts.LabelOpts(position="right")) .set_global_opts(title_opts=opts.TitleOpts(title="进口电影上映首周票房表现 -Top50",# 标题 title_textstyle_opts=opts.TextStyleOpts(font_size=20), #主标题字体大小 subtitle="", # 次坐标轴 pos_left='center'),# 标题位置 legend_opts=opts.LegendOpts( is_show=True, pos_top=30, orient="horizontal" ), # 不显示图例 tooltip_opts=opts.TooltipOpts( trigger="axis", axis_pointer_type="shadow" ),# 提示框 yaxis_opts=opts.AxisOpts(name='', type_='category', # axislabel_opts=opts.LabelOpts(rotate=30), ), xaxis_opts=opts.AxisOpts(type_="value", # y轴类型 # max_=5000000, name='', # y轴名称 name_location='middle', # y轴名称位置 name_gap=70, # y轴名称距离轴线距离 axistick_opts=opts.AxisTickOpts(is_show=False), # 刻度线 axisline_opts=opts.AxisLineOpts(is_show=False), # y轴线 splitline_opts=opts.SplitLineOpts(is_show=True), # y轴网格线 axislabel_opts=opts.LabelOpts(formatter="{value}")), # 轴标签显示方式 datazoom_opts=opts.DataZoomOpts(is_zoom_lock=False, orient="vertical") ) ) bar_foreign.render_notebook()
电影票房三十日时段详情
data_movie_time = pd.read_excel(r"/home/mw/input/movie7110/电影票房三十日时段详情.xlsx") data_movie_time["当前票房"] = data_movie_time["当前票房"].apply(lambda x: round(x/10000000, 2)) data_movie_time["当前场次"] = data_movie_time["当前场次"].apply(lambda x: round(x/10000, 2)) data_movie_time["当前人次"] = data_movie_time["当前人次"].apply(lambda x: round(x/1000000, 2)) data_movie_time = data_movie_time.rename(columns={"当前票房": "当前票房/千万", "当前场次": "当前场次/万", "当前人次": "当前人次/百万"}) data_movie_time.head(2) movie_chang = data_movie_time[data_movie_time["电影"] == "长津湖"]
长津湖上映后三十日电影票房表现
line = Line( init_opts=opts.InitOpts( theme='light', width='1000px', height='600px') ) line.add_xaxis( movie_chang["日期"].tolist() ) colums = ["当前票房/千万", "当前人次/百万", "当前场次/万"] for i in range(3): line.add_yaxis( colums[i], movie_chang[colums[i]], is_symbol_show=False, is_smooth=True, is_selected=True, areastyle_opts=opts.AreaStyleOpts(opacity=0.5), label_opts=opts.LabelOpts(is_show=False), z=100, linestyle_opts={ "normal": { "shadowColor": 'rgba(0, 0, 0, .5)', "shadowBlur": 0, "shadowOffsetY": 1, "shadowOffsetX": 1, }, }, ) line.set_global_opts( xaxis_opts=opts.AxisOpts( boundary_gap=False, axislabel_opts=opts.LabelOpts(margin=30, color="black"), axistick_opts=opts.AxisTickOpts(is_show=False),), yaxis_opts=opts.AxisOpts( name='', axisline_opts=opts.AxisLineOpts(is_show=True), axistick_opts=opts.AxisTickOpts(is_show=False), splitline_opts=opts.SplitLineOpts( is_show=True, linestyle_opts=opts.LineStyleOpts(color='#483D8B')) ), tooltip_opts=opts.TooltipOpts( is_show=True, trigger='axis', axis_pointer_type='cross'), title_opts=opts.TitleOpts(title="长津湖上映后三十日电影票房表现",# 标题 title_textstyle_opts=opts.TextStyleOpts(font_size=18), #主标题字体大小 subtitle="2021-09-30~2021-10-30", # 次坐标轴 pos_left='center'),# 标题位置 legend_opts=opts.LegendOpts( is_show=True, pos_top=45, orient="horizontal" ), # 不显示图例 graphic_opts=[ opts.GraphicGroup( graphic_item=opts.GraphicItem(id_='1',left="center", top="center", z=-1), children=[ opts.GraphicImage(graphic_item=opts.GraphicItem(id_="logo", left='center', z=-1), graphic_imagestyle_opts=opts.GraphicImageStyleOpts( image="https://img2.baidu.com/it/u=3979355417,3562690433&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=388", width=1000, height=600, opacity=0.5,) ) ] ) ] ) line.set_series_opts( markarea_opts=opts.MarkAreaOpts( is_silent=True, label_opts=opts.LabelOpts(position='bottom', color='#000000'), itemstyle_opts=opts.ItemStyleOpts(color='#1E90FF', opacity=0.2), data=[ opts.MarkAreaItem(name="正式上映\n国庆档", x=("2021-09-30", "2021-10-01")), opts.MarkAreaItem(name="高峰期", x=("2021-10-05", "2021-10-07")), opts.MarkAreaItem(name="第三周\n小高峰", x=("2021-10-15", "2021-10-17")), ] ), ) line.set_colors(colors=['#80FFA5', '#00DDFF', '#FF0087']) line.render_notebook()
长津湖电影评分
chart = Gauge( ) chart.add( "", [("猫眼评分", 9.5)], max_=10, start_angle=200, end_angle=-20, pointer=opts.GaugePointerOpts( is_show=True ), itemstyle_opts=opts.ItemStyleOpts( color='rgba(50, 163, 107, 0.3)' ), detail_label_opts=opts.GaugeDetailOpts( border_radius=8, offset_center=[0, '15%'], font_size=50, font_weight='bolder', formatter='{value}', ), axisline_opts=opts.AxisLineOpts( is_show=True, linestyle_opts=opts.LineStyleOpts( width=30, color=[(0.8, "#67e0e3"), (0.98, "#D4587A"), (1, "#67e0e3")] ) ), title_label_opts=opts.GaugeTitleOpts( color='rgba(217, 48, 118, 0.9)', offset_center=[0, '-35%'], font_size=20, font_weight='bolder', ) ) chart.set_global_opts( title_opts=opts.TitleOpts( title="长津湖", pos_right='0%', pos_bottom='30%', title_textstyle_opts=opts.TextStyleOpts( color='rgba(217, 48, 118, 0.1)', font_size=80 ) ), ) chart.render_notebook() chart_1 = Gauge( # init_opts=opts.InitOpts( # width='500px', # height='500px' # ) ) chart_1.add( "", [("豆瓣评分", 7.4)], max_=10, start_angle=200, end_angle=-20, pointer=opts.GaugePointerOpts( is_show=True ), itemstyle_opts=opts.ItemStyleOpts( color='rgba(50, 163, 107, 0.3)' ), detail_label_opts=opts.GaugeDetailOpts( border_radius=8, offset_center=[0, '15%'], font_size=50, font_weight='bolder', formatter='{value}', ), axisline_opts=opts.AxisLineOpts( is_show=True, linestyle_opts=opts.LineStyleOpts( width=30, color=[(0.7, "#37a2da"), (0.8, "#D4587A"), (1, "#37a2da")] ) ), title_label_opts=opts.GaugeTitleOpts( color='rgba(217, 48, 118, 0.9)', offset_center=[0, '-35%'], font_size=20, font_weight='bolder', ) ) chart_1.set_global_opts( title_opts=opts.TitleOpts( title="长津湖", pos_right='0%', pos_bottom='30%', title_textstyle_opts=opts.TextStyleOpts( color='rgba(217, 48, 118, 0.1)', font_size=80 ) ), ) chart_1.render_notebook()
分析总结
①在全部的榜单类别top50中排在前面的都是进五年新出的电影,其中第一名是2021年上映的长津湖,说明电影行业的发展是非常快速的,推陈出新的要求是广大影迷朋友们所追求的。
②排在榜单前六的都是国产电影,说明大家对国产电影的喜爱程度非常之高,其中排在前二的是不可多得的主旋律好电影,非常受大家的追捧。
③在结合票房分析的同时也要结合每一部电影它的组成,可以看到战狼的票价是排在前几的电影中最低的,同时也是场均人次最高的,说明战狼这部电影的电影票房是实打实的非常有质量的票房数据,非常说明战狼这部电影的影响力和受大家喜爱程度。
④在进口的电影中,可以非常明显的看到几个场均人次异常突出的几部电影,如阿凡达,变形金刚三和泰坦尼克号,可以看出来这三部电影的上座率非常高,说明质量非常的好,不愧是经典中的经典。
⑤在国产电影和进口电影的对拼中可以看到在2018年之前进口电影的市场占有率是高于国产电影的,到2018年国产电影成长到足够抗衡进口电影,如今2021年国产电影更是已经碾压进口电影,占领大部分中国市场。
⑥可以看到国产电影和进口电影都有一个经久不衰的主题,那就是动作篇,可以想到动作片是非常受全世界影迷的喜爱的,其中最明显的差距是国产电影中的科幻片很少,仍需要不断地发展才能满足更多影迷,不同影迷的需要。
⑦在不同的平台上长津湖的评分是不同的,高也好低也好,不同的平台的用户的口味是不同的,这就是电影的魅力所在,让不同的人体验到不同的感受。
总结
只要是好的电影,现今的观众都会予以支持。
创作者在生产创作阶段就充分考虑目标受众和目标受众的需求。具有强情节、强情绪、强话题等核心竞争力的影片,哪怕前期热度不具优势,映后也会凭借优质的内容不断发酵,激发二轮观影动机;对于能够满足市场刚需的内容,像动作、喜剧、悬疑犯罪、亲子动画等类型片,也是能够持续号召目标受众观影的常备题材;基于优质的类型片持续运作、打造具有号召力的IP或系列电影,则能将观影动机前置;通过强化电影的社交属性,比如通过打造仪式感来附加观众额外的观影动机,甚至能够为市场培育出新的档期。
总而言之,观众并非不爱看电影了,只是观众更加倾向选择好电影,只要是内容足够优秀,在哪里都是档期。
挑战就是新的起点。目前,8万块银幕已经遍布中国的大城小镇,不断提升的观影环境,日益丰富的电影传播渠道和购票的便利性等,都是中国电影高质量发展的重要保障。“电影是综合性艺术,与国家的综合实力联系紧密。依托发达的经济、繁荣的文化、先进的科技,中国电影理应进入品质年代,我们有理由相信中国电影未来可期。”中国电影家协会副主席任仲伦说。