文章目录

  • Github/GItee仓库地址
    • 注意
    • 生成数据
    • 乱序数据
    • 渲染图片为png或jpeg
    • 顺序数据

Github/GItee仓库地址

  • ScienceGallery-Github
  • ScienceGallery-Gitee

注意

  • 数据传入到 pyecharts 的时候,需要自行将数据格式转换成上述 Python 原生的数据格式。
  • 方法:
# for int
[int(x) for x in your_numpy_array_or_something_else]
# for float
[float(x) for x in your_numpy_array_or_something_else]
# for str
[str(x) for x in your_numpy_array_or_something_else]
  • 便捷方法: pandas.Series.tolist()

生成数据

import numpy as np
# 生成数据
x_data = [chr(i) for i in range(65, 91)]  # lable,26个字母
[str(i) for i in x_data]
y_data = np.random.uniform(5,200,26) # data
[float(i) for i in y_data]
# 将数据转换为列表加元组的格式([(key1, value1), (key2, value2)])
data=[list(z) for z in zip(x_data, y_data)]

乱序数据

  • 南丁格尔图,通过半径区分数据大小,有’radius’和’area’两种模式。

    • radius:扇区圆心角展现数据的百分比,半径展现数据的大小
    • area:所有扇区圆心角相同,仅通过半径展现数据大小
from pyecharts.charts import Pie
from pyecharts import options as opts
from pyecharts.globals import ThemeType# 创建饼形图并初始化配置项
fig = Pie(init_opts=opts.InitOpts(width='1200px', height='600px', theme=ThemeType.ESSOS, bg_color='white'))# 为饼形图添加数据
fig.add(series_name="States",  # 系列名称data_pair=data,  # 系列数据, 格式为 [(key1, value1), (key2, value2)]radius=["15%", "80%"],  #内外半径center=["25%", "50%"],  # 位置 1rosetype='radius',  # 按圆心角区分color='auto')fig.add(series_name="States",  # 系列名称data_pair=data,  # 系列数据, 格式为 [(key1, value1), (key2, value2)]radius=["15%", "80%"],  #内外半径center=["75%", "50%"],  # 位置 2rosetype='area',  # 按半径展示color='auto')# 设置全局配置项
fig.set_global_opts(title_opts=opts.TitleOpts(title="两种南丁格尔图"),legend_opts=opts.LegendOpts(is_show=False),  # 不显示Legend图例visualmap_opts=opts.VisualMapOpts  # 视觉映射(is_show=False,  # 不显示映射配置type_='size',  # 映射过渡类型,选择size,不选择无法设置颜色))# 设置系列配置项
fig.set_series_opts(label_opts=opts.LabelOpts(is_show=True,  # 显示标签position='left',  # 标签位置font_style='oblique',  # 字体风格font_weight='bold',  # 字体粗细font_family='Arial',  # 字体系列margin=15,font_size=11)  # 字体大小)
# 渲染图片至html
# fig.render('rosetype.html')
# Jupyternotebook渲染图片
fig.render_notebook()

渲染图片为png或jpeg

  • snapshot-selenium 是 pyecharts + selenium 渲染图片的扩展
  • 使用 selenium 需要配置 browser driver,这部分可以参考 selenium-python 相关介绍
  • 推荐使用 Chrome 浏览器,可以开启 headless 模式。目前支持 Chrome, Safari。
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot# 使用chrome
make_snapshot(engine=snapshot,file_name=fig.render('rosetype.html'),output_name='C:\Git Code\ScienceGallery\Picture\Rosetype.png',is_remove_html=True)

顺序数据

# 数据排序
data.sort(key=lambda x: x[1])
from pyecharts.charts import Pie
from pyecharts import options as opts
from pyecharts.globals import ThemeType# 创建饼形图并初始化配置项
fig = Pie(init_opts=opts.InitOpts(width='1200px', height='600px', theme=ThemeType.ESSOS, bg_color='white'))# 为饼形图添加数据
fig.add(series_name="States",  # 系列名称data_pair=data,  # 系列数据, 格式为 [(key1, value1), (key2, value2)]radius=["15%", "80%"],  #内外半径center=["25%", "50%"],  # 位置 1rosetype='radius',  # 按圆心角区分is_clockwise=False,  # 饼图的扇区是否是顺时针排布color='auto')fig.add(series_name="States",  # 系列名称data_pair=data,  # 系列数据, 格式为 [(key1, value1), (key2, value2)]radius=["15%", "80%"],  #内外半径center=["75%", "50%"],  # 位置 2rosetype='area',  # 按半径展示is_clockwise=False,  # 饼图的扇区是否是顺时针排布color='auto')# 设置全局配置项
fig.set_global_opts(title_opts=opts.TitleOpts(title="两种南丁格尔图"),legend_opts=opts.LegendOpts(is_show=False),  # 不显示Legend图例visualmap_opts=opts.VisualMapOpts  # 视觉映射(is_show=False,  # 不显示映射配置type_='size',  # 映射过渡类型,选择size,不选择无法设置颜色))# 设置系列配置项
fig.set_series_opts(label_opts=opts.LabelOpts(is_show=True,  # 显示标签position='left',  # 标签位置font_style='oblique',  # 字体风格font_weight='bold',  # 字体粗细font_family='Arial',  # 字体系列margin=15,font_size=11)  # 字体大小)
# 渲染图片至html
# fig.render('rosetype.html')
# Jupyternotebook渲染图片
fig.render_notebook()

Python科学绘图 南丁格尔图/玫瑰图相关推荐

  1. python+matplotlib绘制南丁格尔玫瑰图

    实验:绘制南丁格尔玫瑰图   本实验有一定难度,有人说matplotlib绘图和matlab大同小异,我看除了一些函数名相同之外,其他的像参数和使用方法很不一样.另外我不知道是不是在matlab中画玫 ...

  2. excel实战应用案例100讲(五)-excel实现南丁格尔玫瑰图制作

    "提灯女神"南丁格尔 今天故事的主人公,是被誉为"护理事业的创始人和现代护理教育的奠基人"的弗洛伦斯·南丁格尔(Florence Nightingale). 读 ...

  3. 为敬畏生命而生—南丁格尔玫瑰图制作

    长得像饼图又不是饼图,长得像堆积簇状图又非簇状图,这种有着极坐标的怪异统计图,有着一个美丽的名字-南丁格尔玫瑰图. 说到南丁格尔玫瑰图,这里有着一段为敬畏生命而存的历史. 19世纪50年代,英国.法国 ...

  4. 【Python绘图】pyecharts绘制南丁格尔玫瑰图

    from pyecharts.charts import Pie from pyecharts import options as opts import random# 随机颜色生成 def ran ...

  5. 【Python数据分析——使用matplotlib制作南丁格尔玫瑰图】

    目录 一.介绍 二.相关库 三.数据准备 四.pyecahrts代码实现 五.matplotlib代码实现 一.介绍 玫瑰图是弗罗伦斯·南丁格尔所发明的.又名为极坐标面积图,是一种圆形的直方图. 南丁 ...

  6. python画玫瑰图_央视都在用的“南丁格尔玫瑰图”,原来Python也可以画

    前一阵子,我看到央视新闻中,有一张比较好看数据图,如下: 后来才知道这叫"南丁格尔玫瑰图",是南丁格尔护士在克里米亚战争期间提交的一份关于士兵死伤报告时发明的一种图表. 我心想能不 ...

  7. Python+Matplotlib绘制饼状图模拟南丁格尔玫瑰图

    开学第一课:一定不要这样问老师Python问题 董付国老师Python系列教材推荐与选用参考 ============= 版权声明:由于公众号后台规则问题,本文暂时无法设置原创标记,但仍属原创内容,微 ...

  8. 利用Python实现新冠疫情数据可视化(获取疫情历史数据,制作南丁格尔玫瑰图、疫情地图、动态疫情组合图、词云)

    文章目录 前言 1.获取疫情历史数据 2.制作南丁格尔玫瑰图 2.1 全球各国确诊人数玫瑰图 2.2 全国各省市零新增天数玫瑰图 3.制作疫情地图 3.1全国各省市目前确诊总人数疫情地图 3.2全球各 ...

  9. Python数据可视化之南丁格尔玫瑰图(亲测)

    文章目录 1. 什么是南丁格尔玫瑰图 2. 南丁格尔玫瑰图的绘制 1. 什么是南丁格尔玫瑰图 央视新闻用来展示疫情0增长天数的图就是南丁格尔玫瑰图. 南丁格尔玫瑰图(Nightingale rose ...

  10. Python数据可视化之南丁格尔玫瑰图

    文章目录 1. 什么是南丁格尔玫瑰图 2. 南丁格尔玫瑰图的绘制 1. 什么是南丁格尔玫瑰图 央视新闻用来展示疫情0增长天数的图就是南丁格尔玫瑰图. 南丁格尔玫瑰图(Nightingale rose ...

最新文章

  1. DRDB的安装配置与使用(第二版)
  2. wxWidgets:拖放样本
  3. 8瓶酒一瓶有毒,用人测试。每次测试结果8小时后才会得出,而你只有8个小时的时间。问最少需要(B)人测试?
  4. 不知道为什么IList.Contains()总是返回FALSE
  5. 在给Ext2 Grid设置了autoHeight属性后,如何显示滚动条
  6. LW_OOPC介绍(转载)
  7. 中input宽度_使用HOG对卫星图像中的船舶进行分类
  8. waitpid使用实例
  9. 《概率论与数理统计》(浙大第四版)第六章总结笔记(纯手写)
  10. Flask debug模式算pin码
  11. html密码浏览器不自动登录,怎样取消浏览器密码的自动登录
  12. C++语法学习笔记十四:派生类-调用顺序-访问等级-函数遮蔽
  13. 贵州支教之第二天(11月8日)
  14. Ospf Forwarding address路由选路的影响
  15. 我TM用了假的PanDownload吧!
  16. 批量网址自动提取文字(newspaper)
  17. 要去实习应该把这些面试题搞(bei)懂(hui)
  18. MySQL中 find_in_set 函数如何替换成Oracle写法
  19. linux lsmod命令详解
  20. C语言实例:输出八进制,十进制,十六进制,指定位数整数,带符号整数,科学计数法表示的整数

热门文章

  1. j1900适合装哪版群晖_适合新人观看的威联通NAS设置流程详解攻略
  2. CAN 报文编码学习笔记二:汽车CAN协议测试——发送与接收
  3. 车间和仓库可以一起吗_车间和仓库可以划分为一个防火分区吗
  4. 硼替佐米大鼠血清白蛋白RSA纳米粒|布立尼布小麦麦清白蛋白纳米粒|马赛替尼豆清白蛋白纳米粒(齐岳)
  5. 复利思维,您做到了吗?
  6. YOLOv3源码解析1-代码整体结构
  7. 悉尼大学计算机相关硕士,悉尼大学计算机硕士专业介绍
  8. 一个中科大差生的8年程序员工作总结
  9. js移除某个样式_JS removeAttribute()方法:删除元素的某个属性
  10. 电路分析(电路原理)