人生苦短,我要用pyecharts画图

2024-03-10 12:50

本文主要是介绍人生苦短,我要用pyecharts画图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者: 胡萝卜酱      来源:

https://mp.weixin.qq.com/s/MdDIYGQL8W0U-_gEubgm3A


pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒,pyecharts 是为了与 Python 进行对接,方便在 Python 中直接使用数据生成图。


1、 基本使用

pip安装好pyecharts后,我们首先通过一个简单的示例认识一下pyecharts吧。

 

1from pyecharts import Bar
2
3bar = Bar("我的第一个图表""这里是副标题")
4bar.use_theme('light'#使用主题
5bar.add("服装", ["衬衫""羊毛衫""雪纺衫""裤子""高跟鞋""袜子"], 
6        [52036107590], is_more_utils=True)
7#bar.print_echarts_options() # 该行只为了打印配置项,方便调试时使用
8bar.render()    # 生成本地 HTML 文件

640?wx_fmt=png

  • add()
    主要方法,用于添加图表的数据和设置各种配置项。数据一般为两个列表(长度一致)。如果你的数据是字典或者是带元组的字典。可利用cast()方法转换。

  • print_echarts_options()
    打印输出图表的所有配置项

  • render()
    默认将会在根目录下生成一个 render.html 的文件,支持 path 参数,设置文件保存位置,如 render(r"e:\my_first_chart.html"),文件用浏览器打开。

  • use_theme()
    自 0.5.2+ 起,pyecharts 支持更换主体色系。


如果想直接将图片保存为 png, pdf, gif 格式的文件,可以使用 pyecharts snapshot。使用该插件请确保你的系统上已经安装了 Nodejs 环境。

(使用 Pandas&Numpy 时,整数类型请确保为 int,而不是numpy.int32。)

由于图表配置项实在太多了,这里就不介绍了,我们通过几个较为特殊的图来了解一些常用的配置项即可。


2、 地理坐标图

可以通过pip安装一些地图扩展:

 

$ pip install echarts-countries-pypkg(国家)
$ pip install echarts-china-provinces-pypkg(中国省份及区域)
$ pip install echarts-china-cities-pypkg(中国城市)
$ pip install echarts-china-counties-pypkg(中国县区)
$ pip install echarts-china-misc-pypkg(中国民俗区)
$ pip install echarts-united-kingdom-pypkg(英国地图)

我们通过简单的举例来展示一下,因为图例类型有'scatter', 'effectScatter', 'heatmap'可选,所以我们分别画一下。

 

1from pyecharts import Geo
2
3data = [
4    ("海门"9),("鄂尔多斯"12),("招远"12),("舟山"12),("齐齐哈尔"14),("盐城"15),
5    ("赤峰"16),("青岛"18),("乳山"18),("金昌"19),("泉州"21),("莱西"21),
6    ("日照"21),("胶南"22),("南通"23),("拉萨"24),("云浮"24),("梅州"25),
7    ("文登"25),("上海"25),("攀枝花"25),("威海"25),("承德"25),("厦门"26),
8    ("汕尾"26),("潮州"26),("丹东"27),("太仓"27),("曲靖"27),("烟台"28),
9    ("福州"29),("瓦房店"30),("即墨"30),("抚顺"31),("玉溪"31),("张家口"31),
10    ("阳泉"31),("莱州"32),("湖州"32),("汕头"32),("昆山"33),("宁波"33),
11    ("湛江"33),("揭阳"34),("荣成"34),("连云港"35),("葫芦岛"35),("常熟"36),
12    ("东莞"36),("河源"36),("淮安"36),("泰州"36),("南宁"37),("营口"37),
13    ("惠州"37),("江阴"37),("蓬莱"37),("韶关"38),("嘉峪关"38),("广州"38),
14    ("延安"38),("太原"39),("清远"39),("中山"39),("昆明"39),("寿光"40),
15    ("盘锦"40),("长治"41),("深圳"41),("珠海"42),("宿迁"43),("咸阳"43),
16    ("铜川"44),("平度"44),("佛山"44),("海口"44),("江门"45),("章丘"45),
17    ("肇庆"46),("大连"47),("临汾"47),("吴江"47),("石嘴山"49),("沈阳"50),
18    ("苏州"50),("茂名"50),("嘉兴"51),("长春"51),("胶州"52),("银川"52),
19    ("张家港"52),("三门峡"53),("锦州"54),("南昌"54),("柳州"54),("三亚"54),
20    ("自贡"56),("吉林"56),("阳江"57),("泸州"57),("西宁"57),("宜宾"58),
21    ("呼和浩特"58),("成都"58),("大同"58),("镇江"59),("桂林"59),("张家界"59),
22    ("宜兴"59),("北海"60),("西安"61),("金坛"62),("东营"62),("牡丹江"63),
23    ("遵义"63),("绍兴"63),("扬州"64),("常州"64),("潍坊"65),("重庆"66),
24    ("台州"67),("南京"67),("滨州"70),("贵阳"71),("无锡"71),("本溪"71),
25    ("克拉玛依"72),("渭南"72),("马鞍山"72),("宝鸡"72),("焦作"75),("句容"75),
26    ("北京"79),("徐州"79),("衡水"80),("包头"80),("绵阳"80),("乌鲁木齐"84),
27    ("枣庄"84),("杭州"84),("淄博"85),("鞍山"86),("溧阳"86),("库尔勒"86),
28    ("安阳"90),("开封"90),("济南"92),("德阳"93),("温州"95),("九江"96),
29    ("邯郸"98),("临安"99),("兰州"99),("沧州"100),("临沂"103),("南充"104),
30    ("天津"105),("富阳"106),("泰安"112),("诸暨"112),("郑州"113),("哈尔滨"114),
31    ("聊城"116),("芜湖"117),("唐山"119),("平顶山"119),("邢台"119),("德州"120),
32    ("济宁"120),("荆州"127),("宜昌"130),("义乌"132),("丽水"133),("洛阳"134),
33    ("秦皇岛"136),("株洲"143),("石家庄"147),("莱芜"148),("常德"152),("保定"153),
34    ("湘潭"154),("金华"157),("岳阳"169),("长沙"175),("衢州"177),("廊坊"193),
35    ("菏泽"194),("合肥"229),("武汉"273),("大庆"279)]
36
37geo = Geo("全国主要城市空气质量""data from pm2.5", title_color="#fff",
38          title_pos="center", width=1200,
39          height=600, background_color='#404a59')
40attr, value = geo.cast(data)
41geo.add("", attr, value, visual_range=[0200], visual_text_color="#fff",
42        symbol_size=15, is_visualmap=True)
43geo.render()


640?wx_fmt=gif


上图是默认的'scatter'类型,下面我们画一下 'effectScatter'类型:

 

1attr, value = geo.cast(data)
2geo.add("", attr, value, type="effectScatter", is_random=True, effect_scale=5)
3geo.render("effect.html")


640?wx_fmt=gif

下面画一下 'headmap'类型,这是非常常用的一种类型。

 

1geo = Geo("全国主要城市空气质量""data from pm2.5", title_color="#fff",
2          title_pos="center", width=1200,
3          height=600, background_color='#404a59')
4attr, value = geo.cast(data)
5geo.add("", attr, value, type="heatmap", is_visualmap=True, visual_range=[0300],
6        visual_text_color='#fff')
7geo.render("headmap.html")


640?wx_fmt=gif

下面再画一个地理坐标系线图,非常适合用以分析出行数据。

 

1from pyecharts import GeoLines, Style
2
3style = Style(title_top="#fff",title_pos = "center",width=1200,height=600,background_color="#404a59")
4style_geo = style.add(is_label_show=True,line_curve=0.2,line_opacity=0.6,legend_text_color="#eee",
5    legend_pos="right",geo_effect_symbol="plane",geo_effect_symbolsize=15,label_color=['#a6c84c''#ffa022''#46bee9'],
6    label_pos="right",label_formatter="{b}",label_text_color="#eee",)
7data_guangzhou = [
8    ["广州""上海"],
9    ["广州""北京"],
10    ["广州""南京"],
11    ["广州""重庆"],
12    ["广州""兰州"],
13    ["广州""杭州"]
14]
15geolines = GeoLines("GeoLines 示例", **style.init_style)
16geolines.add("从广州出发", data_guangzhou, **style_geo)
17geolines.render()


640?wx_fmt=gif


3、 关系图

关系图是用于展现节点以及节点之间的关系的一种图,顾名思义,它用以分析关系最为适合,比如微博转发关系,文章引用关系等。

 

1from pyecharts import Graph
2
3nodes = [{"name""结点1""symbolSize"10},
4         {"name""结点2""symbolSize"20},
5         {"name""结点3""symbolSize"30},
6         {"name""结点4""symbolSize"40},
7         {"name""结点5""symbolSize"50},
8         {"name""结点6""symbolSize"40},
9         {"name""结点7""symbolSize"30},
10         {"name""结点8""symbolSize"20}]
11links = []
12for i in nodes:
13    for j in nodes:
14        links.append({"source": i.get('name'), "target": j.get('name')})
15graph = Graph("关系图-环形布局示例")
16graph.add("", nodes, links, is_label_show=True,
17          graph_repulsion=8000, graph_layout='circular',
18          label_text_color=None)
19graph.render("graph.html")

640?wx_fmt=png

4、 雷达图

雷达图多用于展示多变量数据

 

1from pyecharts import Radar
2
3schema = [ 
4    ("销售"6500), ("管理"16000), ("信息技术"30000),
5    ("客服"38000), ("研发"52000), ("市场"25000)
6]
7v1 = [[43001000028000350005000019000]]
8v2 = [[50001400028000310004200021000]]
9radar = Radar()
10radar.config(schema)
11radar.add("预算分配", v1, is_splitline=True, is_axisline_show=True)
12radar.add("实际开销", v2, label_color=["#4e79a7"], is_area_show=False,
13          legend_selectedmode='single')
14radar.render()

640?wx_fmt=gif


5、词云图

可以用wordcloud库画词云图,用pyecharts也能画出词云图。

 

1from pyecharts import WordCloud
2
3name = [
4    'Sam S Club''Macys''Amy Schumer''Jurassic World''Charter Communications',
5    'Chick Fil A''Planet Fitness''Pitch Perfect''Express''Home''Johnny Depp',
6    'Lena Dunham''Lewis Hamilton''KXAN''Mary Ellen Mark''Farrah Abraham',
7    'Rita Ora''Serena Williams''NCAA baseball tournament''Point Break']
8value = [
9    1000061814386405524672244189814841112,
10    965847582555550462366360282273265]
11wordcloud = WordCloud(width=1300, height=620)
12wordcloud.add("", name, value, word_size_range=[20100])
13wordcloud.render("wordcloud.html")

640?wx_fmt=png


6、 结语

pyecharts功能十分强大,它几乎可以画出你想要的任何图,如果你使用 Jupyter Notebook 来展示图表,只需要调用自身实例即可,同时兼容 Python2 和 Python3 的 Jupyter Notebook 环境。所有图表均可正常显示,与浏览器一致的交互体验,这下展示报告连 PPT 都省了!!


你需要的一切,都可以在https://github.com/pyecharts/pyecharts找到,加油吧!!!


更多优质文章

我的故事,从大学到现在经历

公众号文章汇总

我的数据分析工作都做什么,用到什么技术?

0基础如何转型python与数据分析与人工智能?


公众号回复:1,添加微信

领取之前自己学习时候的一些 python、爬虫、人工智能、大数据、djago、flask、机器学习、数据分析等优质学习视频和我整理的一些学习笔记源码等2_02.png2_02.png2_02.png


python爬虫人工智能大数据公众号

640?wx_fmt=gif

这篇关于人生苦短,我要用pyecharts画图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/794292

相关文章

Windows11电脑上自带的画图软件修改照片大小(不裁剪尺寸的情况下)

针对一张图片,有时候上传的图片有大小限制,那么在这种情况下如何修改其大小呢,在不裁剪尺寸的情况下 步骤如下: 1.选定一张图片,右击->打开方式->画图,如下: 第二步:打开图片后,我们可以看到图片的大小为82.1kb,点击上面工具栏的“重设大小和倾斜”进行调整,如下: 第三步:修改水平和垂直的数字,此处我修改为分别都修改为50,然后保存,可以看到大小变成63.5kb,如下:

项目二----项目的开始是人生的阶梯【哈哈】

最近由于太忙,好久都没有编写博客了,现在又接手了第二个项目,该项目是一个订单系统,主要的功能就是用于展示保单的状态和相关的保单信息以及可以进行继续投保,最重要的是还嵌套这续保功能,这项目在去年年底时已经上线运行了,由于最近续保功能还在优化和重新开发,后续会不断的对博客进行补充。 这是一个属于中间件的项目,在软件架构和设计中主要充当【表现层和逻辑层的部分】,持久层另外项目

开发高质量的java代码;实现完美的人生

一、代码质量差表现在哪些方面: (1)可读性:函数命名随意,实现逻辑混乱,代码格式不规范。 (2)可靠性:程序运行不稳定,bug太多。 (3)维护性:代码逻辑没有层次,混成一团,很难维护改进。 (4)移植性、重用性:许多人写的代码,只能自己使用,很少有能共享的功能性代码。 (5)高效性:很少从算法、资源占用、执行效率等角度去考虑,经常导致软件性能问题。 二、解决方法(个人角度) (1)要

从滴滴到田野:300万存款后的人生选择

在快节奏的都市生活中,每个人都在为了生活奔波,为了梦想奋斗。然而,当一位滴滴员工在工作7年后,攒下了300万,他开始思考一个全新的人生选择:回老家“靠利息”生活,这是否可行?今天,我们就来探讨一下这个有趣的话题。 一、300万:一个重要的数字 对于许多人来说,300万是一个遥不可及的数字。但对于这位滴滴员工来说,这却是他7年辛勤工作的成果。这个数字不仅代表了他过去的努力,更是他未来选择的底气。

程序员都在使用的画图工具

大家好,我是袁庭新。 程序员都在使用的画图工具,你一定没用过这款画图工具吧!我教程中的架构图都是用它来画的。 比如我编写的RDB工作原理图就是用draw.io绘制的,如下图所示: 再例如Redis集群故障恢复原理图我也是通过draw.io工具绘制的,如下图所示: 是不是觉得draw.io绘制的图形特别简洁、美观。它的官网是: https://www.drawio.com dra

Python利用pyecharts实现数据可视化

小编会持续更新知识笔记,如果感兴趣可以三连支持。闲来无事,水文一篇,不过上手实践一下倒还是挺好玩的,这一块知识说不定以后真可以尝试拿来做数据库的报表显示。         有梦别怕苦,想赢别喊累。 目录 前言 JSON数据格式的转换 pyecharts简介和入门使用 前言       小编我今天闲来无事,打算学习一下py,结果你猜怎么着,竟然看到py可以将数据

python画图|3D图基础教程

python画3D图和2D流程类似: 【a】定义一个自变量x; 【b】定义两个因变量y和z; 【c】直接输出plot(x,y,z) 今天就一起快乐学习一下画3D图的基础教程。 【1】官网教程 打开官网,可以迅速找到学习教程,参考下述链接: https://matplotlib.org/stable/plot_types/3D/plot3d_simple.html 然后我们解读一下示

python画图|垂线标记系列

进行了一段时间的直方图学习之后,发现python的matplo居然还支持画垂线标记图,赶紧把它记录下来。 直方图绘制教程见下述链接: 【a】直方图绘制基础教程:python画图|直方图绘制教程-CSDN博客 【b】 直方图绘制进阶教程:python画图|直方图绘制教程进阶-CSDN博客 【c】 堆叠直方图绘制教程:python画图|堆叠直方图绘制-CSDN博客 【d】并列直方图绘制教程:

【python 数据可视化】pyecharts的使用

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂, 而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。人工智能教程 Echarts是百度出的很有名 也很叼。 Echarts 是百度开源的一个数据可视化 JS 库。主要用于数据可视化。 pyecharts 是一个用于生成 Echarts 图表的类库。实际上就是 Echarts 与

【python 数据可视化】美丽漂亮的画图神器--pyecharts

今天我们介绍下pyechats 的用法和一个简单的例子。 安装: pip install pyecharts 步骤1:导入相关包: # 导入包import pandas as pdfrom pyecharts.charts import *from pyecharts import options as optsfrom pyecharts.globals import *f