pyecharts 0.5版本绘制各类图像大全(一)

简介: pyecharts是一款将python与echarts结合的强大的数据可视化工具,画图功能强大,图形种类多,我大概列举了一些常用的画图图像,此次展示的版本是0.5版本,之前发的那一期是1.0版本,两者版本差距较大,格式也各不相同。这里仅提供一些0.5版本的格式参考。

一、柱状图


竖向柱状图

示例代码:

# -*- coding:utf-8 -*-
#从pyecharts库中导入Bar子类
from pyecharts import Bar
# 创建数据
attr = ["{}月".format(i) for i in range(1, 13)]
v1 = [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]
v2 = [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]
#定义Bar()柱状图,同时设置主标题和副标题
bar = Bar("柱状图示例")
#调用add()函数添加图表的数据和设置各种配置项
bar.add("蒸发量", attr, v1, mark_line=["average"], mark_point=["max", "min"])
bar.add("降水量", attr, v2, mark_line=["average"], mark_point=["max", "min"])
#打印输出图表的所有配置项
bar.show_config()
#生成render.html文件,也可以设置路径和文件名
bar.render('bar.html')

展示图像:

28.png

横向柱状图

示例代码:

# -*- coding:utf-8 -*-
#从pyecharts库中导入Bar子类
from pyecharts import Bar
#定义Bar()柱状图,同时设置主标题和副标题
bar = Bar("江苏GDP柱状图", "副标题")
#创建x轴数据
city = ["南京市", "苏州市", "无锡市", "常州市", "南通市"]
# 创建y轴数据
data1 = [40, 30, 26, 22, 15]
data2 = [13, 43, 32, 38, 20]
bar.add("2018年GDP", city, data1)
bar.add("2019年GDP", city, data2, is_convert=True)#设置为横向
#打印输出图表的所有配置项
bar.show_config()
#生成render.html文件,也可以设置路径和文件名
bar.render('bar_heng.html')

展示图像:

29.png

小节

Tip: 可以按右边的下载按钮将图片下载到本地


add():主要方法,用于添加图表的数据和设置各种配置项

show_config():打印输出图表的所有配置项

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

chart_name = Type() 初始化具体类型图表。

默认的编码类型为 UTF-8,在 Python3 中是没什么问题的,Python3 对中文的支持好很多。


基本上所有的图表类型都是这样绘制的!


二、散点图


Scatter散点图

示例代码:

from pyecharts import Scatter
v1 = [10, 20, 30, 40, 50, 60]
v2 = [10, 20, 30, 40, 50, 60]
scatter = Scatter("散点图示例")
scatter.add("A", v1, v2)
scatter.add("B", v1[::-1], v2)
scatter.show_config()
scatter.render('scatter.html')

展示图像:

30.png


EffectScatter散点图

EffectScatter散点图是带有涟漪效果动画的散点图

示例代码:

from pyecharts import EffectScatter
# 创建数据
v1 = [10, 20, 30, 40, 50, 60]
v2 = [25, 20, 15, 10, 60, 33]
#定义EffectScatter()散点图,同时设置主标题和副标题
es = EffectScatter("动态散点图示例")
# 添加数据
es.add("effectScatter", v1, v2)

展示图像:

31.png

还可以设置各种散点的效果

示例代码:

from pyecharts import EffectScatter
es = EffectScatter("动态散点图各种图形示例")
es.add("", [10], [10], symbol_size=20, effect_scale=3.5, effect_period=3, symbol="pin")
es.add("", [20], [20], symbol_size=12, effect_scale=4.5, effect_period=4,symbol="rect")
es.add("", [30], [30], symbol_size=30, effect_scale=5.5, effect_period=5,symbol="roundRect")
es.add("", [40], [40], symbol_size=10, effect_scale=6.5, effect_brushtype='fill',symbol="diamond")
es.add("", [50], [50], symbol_size=16, effect_scale=5.5, effect_period=3,symbol="arrow")
es.add("", [60], [60], symbol_size=6, effect_scale=2.5, effect_period=3,symbol="triangle")
es.render('effectScatter.html')

展示图像:

32.png


Scatter3D散点图

示例代码:

from pyecharts import Scatter3D
import random
data = [[random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] for _ in range(80)]
range_color = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
               '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']
scatter3D = Scatter3D("3D 散点图示例", width=1200, height=600)
scatter3D.add("", data, is_visualmap = True, visual_range_color=range_color)
scatter3D.render('scatter3D.html')

展示图像:

33.png


三、折线图


折线图

示例代码:

from pyecharts import Line
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [5, 20, 36, 10, 10, 100]
v2 = [55, 60, 16, 20, 15, 80]
line = Line("折线图示例")
line.add("商家A", attr, v1, mark_point=["average"])
line.add("商家B", attr, v2, is_smooth=True, mark_line=["max", "average"])
line.show_config()
line.render('line.html')

展示图像:

34.png


折线阶梯图

示例代码:

from pyecharts import Line
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [5, 20, 36, 10, 10, 100]
v2 = [55, 60, 16, 20, 15, 80]
line = Line("折线图-阶梯图示例")
line.add("商家A", attr, v1, is_step=True, is_label_show=True)
line.show_config()
line.render('折线阶梯图.html')

展示图像:35.png



面积图

示例代码:

from pyecharts import Line
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [5, 20, 36, 10, 10, 100]
v2 = [55, 60, 16, 20, 15, 80]
line = Line("折线图-面积图示例")
line.add("商家A", attr, v1, is_fill=True, line_opacity=0.2, area_opacity=0.4, symbol=None)
line.add("商家B", attr, v2, is_fill=True, area_color='#000', area_opacity=0.3, is_smooth=True)
line.show_config()
line.render('面积图.html')

展示图像:

1.png


四、3D折线图


示例代码:

from pyecharts import Line3D
data = [[1,2,3,4], [1,2,3,4], [0,4,8,16]]
Line3D = Line3D("3D 折线图示例", width=1200, height=600)
Line3D.add("", data, is_visualmap=True)
Line3D.render('line3d.html')

展示图像:

2.png


五、仪表盘


示例代码:

from pyecharts import Gauge
# 设置标题
g = Gauge("仪表盘图形","副图标")
# 添加图例和数据
g.add("重大项目", "投资占比", 45.6)
g.show_config()
g.render("gauge.html")

展示图像:

3.png


六、关系图


示例代码:

from pyecharts import Graph
# 所需数据格式
nodes = [{"name": "结点1", "symbolSize": 10},
         {"name": "结点2", "symbolSize": 20},
         {"name": "结点3", "symbolSize": 10},
         {"name": "结点4", "symbolSize": 10},
         {"name": "结点5", "symbolSize": 10},
         {"name": "结点6", "symbolSize": 10},
         {"name": "结点7", "symbolSize": 10},
         {"name": "结点8", "symbolSize": 10}]
links = []
for i in nodes:
    for j in nodes:
        links.append({"source": i.get('name'), "target": j.get('name')})
print(links)
graph = Graph("关系图-环形布局示例")
graph.add("", nodes, links, is_label_show=True, repulsion=8000, layout='circular', label_text_color=None)
graph.show_config()
graph.render('graph.html')

展示图像:

4.png


七、地理图


世界地图

示例代码:

from pyecharts import Map
value = [95.1, 23.2, 43.3, 66.4, 88.5]
attr = ["China", "Canada", "Brazil", "Russia", "United States"]
map0 = Map("世界地图示例", width=1200, height=600)
map0.add("世界地图", attr, value, maptype="world",  is_visualmap=True, visual_text_color='#000')
map0.render(path="世界地图.html")

展示图像:

5.png


中国地图

示例代码:

from pyecharts import Map
# 数据
province_distribution = {'河南': 45.23, '北京': 37.56, '河北': 21, '辽宁': 12, '江西': 6, '上海': 20, '安徽': 10, '江苏': 16, '湖南': 9,'浙江': 13, '海南': 2, '广东': 22, '湖北': 8, '黑龙江': 11, '澳门': 1, '陕西': 11, '四川': 7, '内蒙古': 3, '重庆': 3,'云南': 6, '贵州': 2, '吉林': 3, '山西': 12, '山东': 11, '福建': 4, '青海': 1, '天津': 1,'其他': 1}
provice = list(province_distribution.keys())
values = list(province_distribution.values())
# 添加标题和副标题
map = Map("中国地图", '中国地图', width=1200, height=600)
map.add("", provice, values, visual_range=[0, 50], maptype='china', is_visualmap=True,visual_text_color='#000')
map.render(path="中国地图.html")

展示图像:

6.png


省市地图

示例代码:

from pyecharts import Map
map2 = Map("2018年江苏人口地图", '江苏', width=1200, height=600)
city = ['南京市', '苏州市', '无锡市', '常州市', '南通市', '镇江市', '扬州市','泰州市','盐城市','淮安市','宿迁市','徐州市','连云港市']
values2 = [843.62, 1072.17, 657.45, 1072.17, 731, 319.64, 453.1, 463.57, 720,492.5,492.59,880.2,452]
map2.add('2018年江苏人口情况', city, values2, visual_range=[1, 1100], maptype='江苏', is_visualmap=True, visual_text_color='#000')
map2.render(path="江苏地图.html")

展示图像:

7.png


区县地图

示例代码:

from pyecharts import Map
quxian = ['宿城区', '宿豫区', '泗阳县', '泗洪县', '沭阳县']
values3 = [3, 5, 7, 8, 2]
map3 = Map("宿迁地图", "宿迁", width=1200, height=600)
map3.add("宿迁", quxian, values3, visual_range=[1, 10], maptype='宿迁', is_visualmap=True)
map3.render(path="宿迁地图.html")

展示图像:

8.png


相关文章
|
编解码 数据可视化 索引
Matplotlib引领数据图表绘制
Matplotlib引领数据图表绘制
|
15天前
|
PHP
29 JpGraph图像绘制库
路老师在知乎上分享了PHP语言的知识,帮助大家入门并深入了解PHP。本文介绍了JpGraph库的下载、使用及中文乱码设置,通过实例展示了如何使用JpGraph绘制折线图。
15 2
|
4月前
|
数据可视化 Linux 数据格式
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
|
6月前
|
数据可视化 Python
python对网络图networkx进行社区检测和彩色绘图
python对网络图networkx进行社区检测和彩色绘图
|
6月前
|
编解码 数据可视化
R语言动态可视化:绘制历史全球平均温度的累积动态折线图动画gif视频图
R语言动态可视化:绘制历史全球平均温度的累积动态折线图动画gif视频图
|
JSON 数据可视化 定位技术
可视化 | Python绘制高颜值台风地理轨迹图
可视化 | Python绘制高颜值台风地理轨迹图
|
6月前
|
编解码 数据可视化 定位技术
Google Earth Engine谷歌地球引擎GEE直方图与时间序列多波段折线图绘制与可视化参数调整
Google Earth Engine谷歌地球引擎GEE直方图与时间序列多波段折线图绘制与可视化参数调整
132 1
Google Earth Engine谷歌地球引擎GEE直方图与时间序列多波段折线图绘制与可视化参数调整
|
数据可视化 定位技术
漏刻有时数据可视化解决方案:geo坐标地图、svg地图和图片热点地图的使用比较方案
漏刻有时数据可视化解决方案:geo坐标地图、svg地图和图片热点地图的使用比较方案
116 0
|
6月前
|
Python
Python中gdal实现多幅栅格遥感影像图层数据批量绘制直方图
Python中gdal实现多幅栅格遥感影像图层数据批量绘制直方图
|
6月前
|
Python
matplotlib绘制动态瀑布图
matplotlib绘制动态瀑布图
下一篇
无影云桌面