Hi~大家好!
前面向大家讲解了如何用excel绘制高大上的南丁格尔玫瑰图,对于经常用excel的人来说,其实是简单的,但经常用python来绘制图表的人,怎么会用excel来绘制自己想要的图表呢!所以今天教大家如何用python绘制南丁格尔玫瑰图。
代码实现
导入相关模块:
import pandas as pd
from pyecharts.charts import Pie
from pyecharts import options as opts
from pyecharts.globals import ThemeType
相关模块可以用pip命令进行安装:
pip install 模块名称
导入示例数据,一共20条数据:
df = pd.read_csv('data.csv')
df.head()
设置排序方式,让他根据热度按降序排序,并重置索引
df1 = df.sort_values(by="热度", axis=0, ascending=False)
df1 = df1.reset_index(drop=True)
设置图表颜色:
color = ['#FAE927','#E9E416','#C9DA36','#9ECB3C','#6DBC49',
'#37B44E','#3DBA78','#14ADCF','#209AC9','#1E91CA',
'#2C6BA0','#2B55A1','#2D3D8E','#44388E','#6A368B'
'#7D3990','#A63F98','#C31C88','#D52178','#D5225B']
创建图表:
pie_ = (
# 创建饼图
Pie(init_opts=opts.InitOpts(width='600px', height='600px',theme=ThemeType.DARK))
# 添加数据和设置图表的半径
.add("", list(zip(df1['关键词'],df1['热度'])) ,radius=["10%", "105%"],center=["45%", "70%"],rosetype="area")
# 添加颜色
.set_colors(color)
.set_global_opts(legend_opts = opts.LegendOpts(is_show = False),
title_opts=opts.TitleOpts(title="",subtitle="公 众 号 :Python与Excel之交"),
# 生成图片
toolbox_opts=opts.ToolboxOpts())
# 设置数据标签
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{c}",font_size=10,position="inside"))
)
pie_.render_notebook()
结果展示,其它的一些细节可以根据自己的需求进行修改:
如果你的数据少,也可以做成这样,他和上面的图表的基本没什么区别,但是如果数据少的话,绘制出来还是很好看的!
name = ['可乐', '炸鸡', '薯条', '汉堡包']
shiji = [347, 256,190,139]
color = ['#FAE927', '#37B44E','#2C6BA0', '#7D3990']
pie = (
Pie(init_opts=opts.InitOpts(width='800px', height='800px',bg_color="#2c343c"))
.add("", [list(z) for z in zip(name , shiji )],radius=['35%', '70%'],center=['45%', '55%'], rosetype='area')
.set_colors(color)
.set_global_opts(title_opts=opts.TitleOpts(title=''), legend_opts=opts.LegendOpts(is_show=False))
.set_global_opts(legend_opts = opts.LegendOpts(is_show = False),
title_opts=opts.TitleOpts(title="",subtitle="公 众 号 :Python与Excel之交")
,toolbox_opts=opts.ToolboxOpts())
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{c}",font_size=23,position="inside"))
)
pie.render_notebook()
图表展示:
本文分享自 Python与Excel之交 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!