一、柱状图
竖向柱状图
示例代码:
# -*- 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')
展示图像:
横向柱状图
示例代码:
# -*- 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')
展示图像:
小节
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')
展示图像:
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)
展示图像:
还可以设置各种散点的效果
示例代码:
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')
展示图像:
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')
展示图像:
三、折线图
折线图
示例代码:
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')
展示图像:
折线阶梯图
示例代码:
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')
展示图像:
面积图
示例代码:
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')
展示图像:
四、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')
展示图像:
五、仪表盘
示例代码:
from pyecharts import Gauge # 设置标题 g = Gauge("仪表盘图形","副图标") # 添加图例和数据 g.add("重大项目", "投资占比", 45.6) g.show_config() g.render("gauge.html")
展示图像:
六、关系图
示例代码:
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')
展示图像:
七、地理图
世界地图
示例代码:
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")
展示图像:
中国地图
示例代码:
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")
展示图像:
省市地图
示例代码:
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")
展示图像:
区县地图
示例代码:
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")
展示图像: