前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >excel绘制南丁格尔玫瑰图过于复杂,试试用python绘制南丁格尔玫瑰图!

excel绘制南丁格尔玫瑰图过于复杂,试试用python绘制南丁格尔玫瑰图!

作者头像
Python与Excel之交
发布2021-08-05 15:01:42
1.4K0
发布2021-08-05 15:01:42
举报
文章被收录于专栏:Python与Excel之交

Hi~大家好!

前面向大家讲解了如何用excel绘制高大上的南丁格尔玫瑰图,对于经常用excel的人来说,其实是简单的,但经常用python来绘制图表的人,怎么会用excel来绘制自己想要的图表呢!所以今天教大家如何用python绘制南丁格尔玫瑰图。

代码实现

导入相关模块:

代码语言:javascript
复制
import pandas as pd
from pyecharts.charts import Pie
from pyecharts import options as opts
from pyecharts.globals import ThemeType 

相关模块可以用pip命令进行安装:

代码语言:javascript
复制
pip install 模块名称

导入示例数据,一共20条数据:

代码语言:javascript
复制
df = pd.read_csv('data.csv')
df.head()

设置排序方式,让他根据热度按降序排序,并重置索引

代码语言:javascript
复制
df1 = df.sort_values(by="热度", axis=0, ascending=False)
df1 = df1.reset_index(drop=True)

设置图表颜色:

代码语言:javascript
复制
color = ['#FAE927','#E9E416','#C9DA36','#9ECB3C','#6DBC49',
                '#37B44E','#3DBA78','#14ADCF','#209AC9','#1E91CA',
                '#2C6BA0','#2B55A1','#2D3D8E','#44388E','#6A368B'
                '#7D3990','#A63F98','#C31C88','#D52178','#D5225B']

创建图表:

代码语言:javascript
复制
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()

结果展示,其它的一些细节可以根据自己的需求进行修改:

如果你的数据少,也可以做成这样,他和上面的图表的基本没什么区别,但是如果数据少的话,绘制出来还是很好看的!

代码语言:javascript
复制
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()

图表展示:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与Excel之交 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档