python猫眼电影榜单TOP100可视化

可视化为什么会变成这样啊
开始可视化数据
File "D:\新建文件夹\lib\site-packages\pandas\io\excel_base.py", line 1672, in init
self._reader = self._engines[engine](self._io, storage_options=storage_options)
File "D:\新建文件夹\lib\site-packages\pandas\io\excel_xlrd.py", line 34, in init
import_optional_dependency("xlrd", extra=err_msg)
File "D:\新建文件夹\lib\site-packages\pandas\compat_optional.py", line 145, in import_optional_dependency
raise ImportError(msg)
ImportError: Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd.
这个是参考的代码,但是没有出图
data = pd.read_excel('猫眼电影榜单Top100.xls') #读取xlsx里面的值给data

score_chart = data.sort_values('评分',ascending=False).head(10) #用data里面的按值排序,head(i),i代表前i名。
bar = (
Bar()
.add_xaxis([i for i in score_chart['电影名称'].values.tolist()])
.add_yaxis('评分排前十的电影', score_chart['评分'].values.tolist())
)
bar.render(r"D:\neusoft\ChenHanBin\anli&add\pycharm2021\program\数据分析B\评分条形图.html")
print("评分图保存成功!")

release_time = data.sort_values('评分',ascending=False).head(10) #用data里面的按值排序,head(i),i代表前i名。
bar = (
Bar()
.add_xaxis([i for i in release_time['电影名称'].values.tolist()])
.add_yaxis('评分排前十的电影年份', release_time['上映时间'].values.tolist())
)
bar.render(r"D:\neusoft\ChenHanBin\anli&add\pycharm2021\program\数据分析B\上映时间条形图.html")
print("上映时间图保存成功!")

sector_chart = data.sort_values('评分',ascending=False).head(10)
v = sector_chart['电影名称'].values.tolist() #tolist()将数据转换为列表形式
d = sector_chart['评分'].values.tolist()
color_series = ['#2C6BA0','#2B55A1','#2D3D8E','#44388E','#6A368B'
'#7D3990','#A63F98','#C31C88','#D52178','#D5225B']

实例化Pie类

pie1 = Pie(init_opts=opts.InitOpts(width='1350px', height='750px'))

设置颜色

pie1.set_colors(color_series)

添加数据,设置饼图的半径

pie1.add("", [list(z) for z in zip(v, d)], #zip是压缩函数
radius=["0%", "100%"],
center=["50%", "50%"],
rosetype="area"
)
pie1.set_global_opts(title_opts=opts.TitleOpts(title='前十影片的评分'),
legend_opts=opts.LegendOpts(is_show=False),
toolbox_opts=opts.ToolboxOpts())

设置系列配置项

LabelOpts标签配置项 is_show是否显示标签; font_size字体大小;

position="inside"标签的位置,文字显示在图标里面; font_style文字风格

font_family文字的字体系列

pie1.set_series_opts(label_opts=opts.LabelOpts(is_show=True, position="inside", font_size=12,
formatter="{b}:{c}", font_style="italic",
font_weight="bold", font_family="Microsoft YaHei"
),
)

生成html文档

pie1.render(r"D:\neusoft\ChenHanBin\anli&add\pycharm2021\program\数据分析B\评分玫瑰图.html")
print("前十影片评分图保存成功!")

#根据播放量排序,只取前十个
word_cloud = data.sort_values('评分',ascending=False).head(10)
#print(dw["影片中文名"])
#font_path指明用什么样的字体风格,这里用的是电脑上都有的微软雅黑
w1 = wordcloud.WordCloud(width=1200,height=1000,
background_color='white',
font_path='msyh.ttc')
txt = "\n".join(i for i in word_cloud['电影名称'])
w1.generate(txt)
w1.to_file(r'D:\neusoft\ChenHanBin\anli&add\pycharm2021\program\数据分析B\排名前10的影片名词云.png')
print("词云图保存成功!")
print("数据可视化完成")

没有出图,那是你的代码报错了,而报错的日志中有很明显的提示:

ImportError: Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use pip

这是缺少xlrd库,你直接安装好再运行即可。

pip install xlrd

有疑问,可以及时交流。