import pandas as pd from pyecharts.charts import Pie import pyecharts.options as opts data_rd=pd.read_excel("海南疫情.xlsx") data=[z for z in zip(list(data_rd["地点"]),list(data_rd["感染人数"]))] data.sort(key=lambda x:x[1],reverse=True) data=[data[i] for i in range(3,23)] pie=Pie(init_opts=opts.InitOpts(width='800px',height='600px')) color_series=['#60716B','#4F92EO','#6B90DE','#76B6E4','#6C7162','#535472', '#D781D9','#4C3689','#6543A4','#BA865F','#6E564C','#61565A', '#E8D248','#EBA281','#DE8438','#E3954A','#EA8ECD','#DF7BBB', '#C14C3B','#A56468'] #'#4E777D','#ABD46E','#639A72','#CAE268' pie.add( series_name="地区", data_pair=data, radius=["40%","100%"], center=["50%","70%"], rosetype='area', ) pie.set_global_opts( title_opts=opts.TitleOpts(title="海南省各市感染人数的南丁格尔玫瑰图",pos_left="30%",pos_top="15%"), legend_opts=opts.LegendOpts(is_show=True), ) pie.set_series_opts( label_opts=opts.LabelOpts( position='inside', rotate=45, formatter="{b}:{c}", font_size=11 ) ) pie.render("guangdong.html") pie.render_notebook() 解析代码
时间: 2023-09-24 07:11:22 浏览: 71
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
这段代码使用了 Pandas 和 pyecharts 库,绘制了海南省各市感染人数的南丁格尔玫瑰图。下面是代码的解析:
1. 导入库:首先导入了 pandas 和 pyecharts 库。
2. 读取数据:使用 pandas 库中的 read_excel() 方法读取了名为 "海南疫情.xlsx" 的 Excel 文件,并将其中的 "地点" 和 "感染人数" 两列数据打包成元组的形式(使用了 zip() 函数和列表解析式)保存在 data 变量中。
3. 数据处理:对 data 变量中的元组进行了排序(按照感染人数从大到小排序),并将前 3 个和后 20 个元组删除,最终得到 20 个元组的列表 data。
4. 创建南丁格尔玫瑰图:使用 pyecharts 库中的 Pie 类创建了一个南丁格尔玫瑰图对象 pie。在该对象中,使用 add() 方法添加了一个系列,即地区和感染人数的数据对,设置了南丁格尔玫瑰图的半径和位置参数,以及 rosetype 参数设置为 'area',表示绘制面积模式的南丁格尔玫瑰图。
5. 设置全局参数:使用 set_global_opts() 方法设置了标题、图例等全局参数。
6. 设置系列参数:使用 set_series_opts() 方法设置了标签等系列参数。
7. 渲染图表:使用 render() 方法将图表输出到文件 "guangdong.html" 和 Jupyter Notebook 中。
总之,这段代码实现了读取数据并绘制南丁格尔玫瑰图的功能,具有一定的数据可视化和图表美化效果。
阅读全文