绘图步骤:

  1. from pyecharts import Chart,configure #导入所需绘图函数

  2. configure(output_image=True) #可以将图表保存为svg/jpeg/png/pdf/gif

  3. chart = Chart('主标题','副标题') #Chart是我们绘图函数

  4. attr = ['x1','x2','x3','x4'] #attr是属性,也就是常见的X轴标签

  5. v = [y1,y2,y3,y4] #v是各个属性对应的值,也就是常见的Y值

  6. chart.use_theme() #设置图表主题

  7. chart.add('图标',attr,v) #add画图图层,添加我们所需的参数

  8. chart.render(path = '***.jpeg') #图表输出,path是输出路径

render会默认将图表输出为html格式,可在浏览器打开。但是想要插入到ppt当中,清晰度会下降,因此需要将其转化为其他格式,如svg/jpeg/png/pdf/gif 等等。要实现格式的转换,需要安装:

  • Nodejs
  • $ npm install -g phantomjs-prebuilt
  • $ pip install pyecharts-snapshot

常用的参数(可以在add()中设置,实现各种需求):

  • is stack:是否堆积
  • is convert:x,y轴是否交换
  • is_legend_show:是否显示图例
  • legend_orient:图列方向,有'horizontal'(默认水平显示),'vertical'(垂直)可选
  • legend_pos:图例位置,有'left', 'center'(默认), 'right'可选
  • legend_text_size/color:图例名称字体大小/颜色
  • is_x/yaxis_show:是否显示x/y轴
  • x/yaxis_interval:x/y轴标签的显示间隔
  • x/yaxis_min/max:x/y轴刻度最小值/最大值
  • x/yaxis_label_textsize/textcolor:x/y轴标签字体大小/颜色
  • xaxis_rotate:x轴标签旋转角度
  • is_splitline_show:是否显示网格线
  • is_label_show:是否显示标签
  • label_pos:标签的位置,有'top'(默认), 'left', 'right', 'bottom', 'inside','outside'可选
  • label_text_color/size:标签字体颜色/大小
  • is_random:是否随机排列颜色列表
  • label_color:自定义标签颜色
  • mark_point/line:标记点/线,默认有'min', 'max', 'average'可选。可自定义标记点线,具体格式如:[{'coord': [x, y], 'name': '目标标记点'}],记住格式是一个列表
  • mark_point/line_symbol:标记点/线图形,默认为'pin'(点),有'circle'(圆形), 'rect'(正方形), 'roundRect'(圆角正方形), 'triangle'(三角形), 'diamond'(菱形), 'pin'(点), 'arrow'(箭头)可选
  • mark_point/line_symbolsize:标记点/线图形大小
  • mark_point/line_textcolor:标记点/线字体颜色

实例演示1(条形图Bar):

  1. from pyecharts import Bar,configure

  2. configure(output_image=True)

  3. bar = Bar('各个城市的人口','虚构的',background_color = 'white',title_text_size = 25,subtitle_text_size = 15)

  4. attr = ['惠州','东莞','广州','深圳','佛山','江门','珠海']

  5. v1 = [23,45,68,58,32,28,36]

  6. v2 = [12,22,34,29,16,14,18]

  7. bar.add('举例数字1',attr,v1,is_label_show = True,mark_point = ['min','max'],

  8. mark_point_symbol = 'diamond',xaxis_rotate = 30,xaxis_label_textsize = 15,yaxis_label_textsize = 15)

  9. bar.add('举例数字2',attr,v2,is_label_show = True,mark_point = ['min','max'],

  10. mark_point_symbol = 'triangle',xaxis_rotate = 30,xaxis_label_textsize = 15,yaxis_label_textsize = 15)

  11. bar.render(path = 'D:\\示例1.jpeg')

is_stack 实现数据堆叠:

  1. bar.add('举例数字1',attr,v1,is_stack = True)

  2. bar.add('举例数字2',attr,v2,is_stack = True)

  3. bar.render(path = 'D:\\堆积条形图.jpeg')

is_convert实现横向条形图:

  1. bar.add('举例数字1',attr,v1,is_label_show = True,label_pos = 'inside',xaxis_label_textsize = 15,yaxis_label_textsize = 15)

  2. bar.add('举例数字2',attr,v2,is_label_show = True,is_convert = True,label_pos = 'inside',xaxis_label_textsize = 15,yaxis_label_textsize = 15)

  3. bar.render(path = 'D:\\横向条形图.jpeg')

在做横向条形图的时候出现了一个问题,本来纵轴文本标签应该是attr值,但是这里变成了数字,以前小文绘图的时候没有出现过这个问题,各位大神如果知道是怎么回事,请留言指导一下小文。

实例演示2(散点图EffectScatter):

pyecharts里面的散点图是默认带有涟漪特效动画的

  1. from pyecharts import EffectScatter,configure

  2. es = EffectScatter('散点图举例',background_color = 'white',title_text_size = 25)

  3. v1 = [12,22,34,29,16,14,18]

  4. v2 = [23,45,68,58,32,28,36]

  5. es.add('', v1, v2,symbol = 'pin',effect_scale = 5.5,xaxis_min = 10)

  6. es.render(path = 'D:\\带有涟漪特效动画的散点图.jpeg')

有的朋友说,我觉得这个涟漪的效果不好看,我就想做个普普通通的散点图行不行呢?当然可以,pyecharts可以满足你所有愿望。因为EffectScatter函数的effect_scale参数默认为2.5,所以想要作不带有涟漪特效动画的散点图,只要将effect_scale设为0就可以了。

  1. es.add('', v1, v2,effect_scale = 0,xaxis_min = 10)

  2. es.render(path = 'D:\\不带有涟漪特效动画的散点图.jpeg')

实例演示3(折线图Line):

  1. from pyecharts import Line,configure

  2. configure(output_image=True)

  3. line =Line('折线图',background_color = 'white',title_text_size = 25)

  4. attr = ['惠州','东莞','广州','深圳','佛山','江门','珠海']

  5. v1 = [23,45,68,58,32,28,36]

  6. v2 = [12,22,34,29,16,14,18]

  7. line.add('举例数字1',attr,v1,mark_line=['average'],is_label_show = True)

  8. line.add('举例数字2',attr,v2,is_label_show = True,is_smooth=True)

  9. line.render(path = 'D:\\折线图.jpeg')

is_smooth:是否平滑处理,可以看到举例数字2在设了is_smooth = True之后,线条变为平滑曲线。

is_fill实现面积图:

  1. line.add('举例数字1',attr,v1,is_fill = True,area_opacity=0.4)

  2. line.add('举例数字2',attr,v2,is_fill = True,is_smooth=True,area_opacity=0.4)

  3. line.render(path = 'D:\\面积图.jpeg')

area_opacity:填充面积的透明度;area_color:填充面积的颜色;symbol = None:去掉线上的点。

实例演示4(饼图Pie):

  1. from pyecharts import Pie,configure

  2. configure(output_image=True)

  3. pie =Pie('饼图',background_color = 'white',title_text_size = 25)

  4. attr = ['惠州','东莞','广州','深圳','佛山','江门','珠海']

  5. v1 = [12,22,34,29,16,14,18]

  6. pie.add('',attr,v1,is_label_show = True)

  7. pie.render(path = 'D:\\饼图.jpeg')

设置radius参数实现圆环图:

radius = [x,y],x是内半径,y是外半径

  1. pie =Pie('圆环图',background_color = 'white',title_pos = 'center')

  2. pie.add('',attr,v1,is_label_show = True,radius=[30, 75],is_legend_show = False)

  3. pie.render(path = 'D:\\圆环图.jpeg')

设置rosetype参数实现南丁格尔图(玫瑰图):

rosetype有'radius'和'area'两种模式,其中:

radius通过半径显示数据的大小,扇区圆心角展现数据的百分比;

area通过半径显示数据的大小,各扇区圆心角相等。

另外还可以通过设置center参数调整圆心位置(center = [x,y],x为横坐标,y为纵坐标)

  1. configure(output_image=True)

  2. pie =Pie('玫瑰图',background_color = 'white')

  3. attr = ['惠州','东莞','广州','深圳','佛山','江门','珠海']

  4. v1 = [12,22,34,29,16,14,18]

  5. pie.add('radius',attr,v1,center = [25,50],radius=[30, 75],rosetype='radius')

  6. pie.add('area',attr,v1,center = [75,50],radius=[30, 75],rosetype='area')

  7. pie.render(path = 'D:\\玫瑰图.jpeg')

上图左边是radius模式的玫瑰图,右边是area模式的玫瑰图,两者都是通过色块的大小表示数据的大小,另外radius模式的玫瑰图还通过扇区圆心角表示数据的百分比,所以我们看到radius模式的玫瑰图各个色块的内圆弧长各有不同,而area模式的玫瑰图各个色块的内圆弧长都是相等的。

另外,我们发现可以通过调节不同的内外圆的半径,实现‘饼中饼’。

  1. configure(output_image=True)

  2. pie =Pie('圆环中的玫瑰图',background_color = 'white')

  3. attr = ['惠州','东莞','广州','深圳','佛山','江门','珠海']

  4. v1 = [12,22,34,29,16,14,18]

  5. pie.add( '',attr,v1,radius=[65, 75],center=[50, 50])

  6. pie.add('',attr,v1,radius=[0, 60],center=[50, 50],rosetype='area')

  7. pie.render(path = 'D:\\圆环中的玫瑰图.jpeg')

当python撞上echarts时 add各个图形参数相关推荐

  1. 当python遇上echarts (三)绘制3D图表

    当python遇上echarts (二)绘制基本图表 文章目录 前言 3D图形配置项及方法 Grid3DOpts:三维笛卡尔坐标系配置项 Axis3DOpts:三维坐标轴配置项 add(): 共有的方 ...

  2. Python - 在定义函数时,为什么默认参数不能放在必选参数前面?

    分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net 我们尝试直接定义这样的函数,看看Python解释器会 ...

  3. python 图片上传到minio时,在minio不是显示图片格式

    def UploadMinio(IOData,length,fileName):minioClient.put_object('xxxxx',fileName,IOData,length,conten ...

  4. Python入门--上

    前言 本文依据C语言中文网,结合官方文档,W3cSchool,菜鸟教程,再搭配自己学习道路上的经验编写,仅供个人参考学习. ​ 作者-结了冰的可乐 第一章 Python编程基础 2.1 Python注 ...

  5. 仿真环境跟车2分钟,就让自动驾驶系统撞上马路牙子,攻破率超90%,多传感器融合系统都失效...

    鱼羊 萧萧 发自 凹非寺 量子位 报道 | 公众号 QbitAI 自动驾驶领域目前最强的MSF(多传感器融合)定位算法,再次被攻破了. 攻击之下,平均30秒内,正常行驶中的自动驾驶汽车就撞上了马路牙子 ...

  6. 送餐送货机器人、自动驾驶车、扫地机器人,再也不用担心撞上玻璃橱窗了丨CVPR2020...

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 自动送货车撞上玻璃.扫地机器人撞碎玻璃伤行人--如今这些事件也即将成为过去式. 大连理工大学等单位研发了一个玻璃检测神经网络,能够利用AI在 ...

  7. python自动源码_谷歌推出Tangent开源库,在Python源代码上做自动微分

    原标题:谷歌推出Tangent开源库,在Python源代码上做自动微分 李林 编译自 Google Research Blog 谷歌今天推出了一个新的开源Python自动微分库:Tangent. 和现 ...

  8. 人工智能们再也不用担心撞上玻璃橱窗了

    简介:自动送货车撞上玻璃.扫地机器人撞碎玻璃伤行人--如今这些事件也即将成为过去式.大连理工大学等单位研发了一个玻璃检测神经网络,能够利用 AI 在真实环境下检测玻璃. △ 图左为目标场景,图右黄色部 ...

  9. 又一辆特斯拉电动汽车撞上警车,都是因为这个功能

    7月15日消息,据国外媒体报道,去年12月,美国一名特斯拉Model 3的车主,在驾驶他的电动汽车时开启了Autopilot自动辅助驾驶系统,因注意力不集中最终撞上了一辆停在路边的警车,导致这名司机在 ...

  10. qpython能使用json吗l_[python] 详解Python在使用JSON时需要注意的编码问题

    Python 中的字符编码 在 Python3 中, 字符 在内存中是使用 Unicode 存储的, 常规的字符使用 两个字节 表示, 一些很生僻的字符就需要 四个字节. 默认使用 Unicode 存 ...

最新文章

  1. mysql索引空间太大_MySQL优化索引
  2. DllMain使用的注意事项
  3. python做电脑软件-程序员带你十天快速入门Python,玩转电脑软件开发(二)
  4. Linux 命令之 sftp -- 交互式的文件传输程序
  5. zrender zlevel层叠控制和Group使用笔记
  6. CCF201712-1 最小差值
  7. 《Head First 设计模式》阅读笔记(一)——策略模式
  8. SocketType 枚举----指定 Socket 类的实例表示的套接字的类型
  9. Linux调试分析诊断利器——strace
  10. Atitit 常用加密算法 aes des rsa 比较 历史演进 目录 1.1. 常规加密算法如下 Aes 3des des rsa 1 2. 加密算法历史演进 按照出现时间和加密强度 流行
  11. 部署到gcp_Linux基础架构学习 - 使用GCP托管云解决方案 - Day09
  12. “黑客帝国”装B特效,不分linux版本
  13. Linux下关闭udhcpc客户端时,通知服务器释放租约
  14. addr2line的使用
  15. FPGA | Vivado 查看最大工作频率(Fmax)
  16. Word2Vec与文章相似度
  17. 哇塞,原来自己写 Google Chrome 浏览器扩展(插件)这么容易!
  18. promise.then链式调用顺序
  19. 印度正试图建立世界上最大的面部识别系统
  20. 每个前端都值得拥有自己的组件库,就像每个冬天都拥有春秋裤

热门文章

  1. BP神经网络学习算法原理
  2. 微信小程序图片上传以及剪切(image-cropper的简单使用)
  3. Java post请求工具类
  4. oracle临时表的创建
  5. 测试质量保障体系的建立
  6. 关于自抗扰控制的稳定性分析
  7. 阿里再度联手数据港合建数据中心 服务金额至少40亿
  8. 随机效应估算与固定效应估算_混合效应模型和面板数据分析zz Flona
  9. Redis过期策略及内存淘汰机制
  10. c语言计算三个并联电阻,3个电阻并联怎么计算