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

pyecharts是一款将python与echarts结合的强大的数据可视化工具,画图功能强大,图形种类多,我大概列举了一些常用的画图图像,此次展示的版本是0.5版本,之前发的那一期是1.0版本,两者版本差距较大,格式也各不相同。这里仅提供一些0.5版本的格式参考。在此之前我推荐大家参考一下这位大神的博客https://www.jianshu.com/p/b718c307a61c

一、柱状图

竖向柱状图

示例代码:

# -*- 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")

展示图像:
在这里插入图片描述

八、平行坐标系图

示例代码:

from pyecharts import Parallel

c_schema = [
    {"dim": 0, "name": "data"},
    {"dim": 1, "name": "AQI"},
    {"dim": 2, "name": "PM2.5"},
    {"dim": 3, "name": "PM10"},
    {"dim": 4, "name": "CO"},
    {"dim": 5, "name": "NO2"},
    {"dim": 6, "name": "CO2"},
    {"dim": 7, "name": "等级",
    "type": "category", "data": ['优', '良', '轻度污染', '中度污染', '重度污染', '严重污染']}
]
data = [
    [1, 91, 45, 125, 0.82, 34, 23, "良"],
    [2, 65, 27, 78, 0.86, 45, 29, "良"],
    [3, 83, 60, 84, 1.09, 73, 27, "良"],
    [4, 109, 81, 121, 1.28, 68, 51, "轻度污染"],
    [5, 106, 77, 114, 1.07, 55, 51, "轻度污染"],
    [6, 109, 81, 121, 1.28, 68, 51, "轻度污染"],
    [7, 106, 77, 114, 1.07, 55, 51, "轻度污染"],
    [8, 89, 65, 78, 0.86, 51, 26, "良"],
    [9, 53, 33, 47, 0.64, 50, 17, "良"],
    [10, 80, 55, 80, 1.01, 75, 24, "良"],
    [11, 117, 81, 124, 1.03, 45, 24, "轻度污染"],
    [12, 99, 71, 142, 1.1, 62, 42, "良"],
    [13, 95, 69, 130, 1.28, 74, 50, "良"],
    [14, 116, 87, 131, 1.47, 84, 40, "轻度污染"]
]
parallel = Parallel("平行坐标系-用户自定义指示器")
parallel.config(c_schema=c_schema)
parallel.add("parallel", data)
parallel.show_config()
parallel.render('parallel.html')

展示图像:
在这里插入图片描述

九、极坐标系图

示例代码:

from pyecharts import Polar

radius = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
polar = Polar("极坐标系-堆叠柱状图示例", width=1200, height=600)
polar.add("A", [1, 2, 3, 4, 3, 5, 1], radius_data=radius, type='barRadius', is_stack=True)
polar.add("B", [2, 4, 6, 1, 2, 3, 1], radius_data=radius, type='barRadius', is_stack=True)
polar.add("C", [1, 2, 3, 4, 1, 2, 5], radius_data=radius, type='barRadius', is_stack=True)
polar.show_config()

polar.render('polar.html')

展示图像:
在这里插入图片描述

十、水球图

示例代码:

from pyecharts import Liquid

liquid = Liquid("水球图")

liquid.add("Liquid", [0.84]) #shape='diamond'可以设置形状为菱形,默认为圆形

liquid.show_config()

liquid.render('liquid.html')

展示图像:
在这里插入图片描述

十一、漏斗图

示例代码:

from pyecharts import Funnel

attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
value = [20, 40, 60, 80, 100, 120]
funnel = Funnel("漏斗图示例")
funnel.add("商品", attr, value, is_label_show=True, label_pos="inside", label_text_color="#fff")
funnel.render('funnel.html')

展示图像:
在这里插入图片描述

十二、热力图

示例代码:

# Geo(地理坐标系)
from pyecharts import Geo

keys = ['上海', '北京', '合肥', '哈尔滨', '广州', '成都', '无锡', '杭州', '武汉', '深圳', '西安', '郑州', '重庆', '长沙', '贵阳', '乌鲁木齐']

values = [4.07, 1.85, 4.38, 2.21, 3.53, 4.37, 1.38, 4.29, 4.1, 1.31, 3.92, 4.47, 2.40, 3.60, 1.2, 3.7]

geo = Geo("全国主要城市空气质量热力图", "data from pm2.5", title_color="#fff",title_pos="left",width=1200,height=600,background_color='#404a59')

geo.add("空气质量热力图", keys, values, visual_range=[0, 5], type='effectScatter',visual_text_color="#fff", symbol_size=15,is_visualmap=True, is_roam=True)

# type有scatter, effectScatter, heatmap三种模式可选,可根据自己的需求选择对应的图表模式

geo.render(path="全国主要城市空气质量热力图.html")

展示图像:
在这里插入图片描述

十三、词云图

示例代码:

from pyecharts import WordCloud

name = ['Sam S Club', 'Macys', 'Amy Schumer', 'Jurassic World', 'Charter Communications',
        'Chick Fil A', 'Planet Fitness', 'Pitch Perfect', 'Express', 'Home', 'Johnny Depp',
        'Lena Dunham', 'Lewis Hamilton', 'KXAN', 'Mary Ellen Mark', 'Farrah Abraham',
        'Rita Ora', 'Serena Williams', 'NCAA baseball tournament', 'Point Break']
value = [10000, 6181, 4386, 4055, 2467, 2244, 1898, 1484, 1112, 965, 847, 582, 555,
         550, 462, 366, 360, 282, 273, 265]
wordcloud = WordCloud(width=1300, height=620)
wordcloud.add("", name, value, word_size_range=[20, 100],shape='diamond')
wordcloud.show_config()
wordcloud.render('worldcloud.html')

展示图像:
在这里插入图片描述

十四、雷达图

示例代码:

from pyecharts import WordCloud

name = ['Sam S Club', 'Macys', 'Amy Schumer', 'Jurassic World', 'Charter Communications',
        'Chick Fil A', 'Planet Fitness', 'Pitch Perfect', 'Express', 'Home', 'Johnny Depp',
        'Lena Dunham', 'Lewis Hamilton', 'KXAN', 'Mary Ellen Mark', 'Farrah Abraham',
        'Rita Ora', 'Serena Williams', 'NCAA baseball tournament', 'Point Break']
value = [10000, 6181, 4386, 4055, 2467, 2244, 1898, 1484, 1112, 965, 847, 582, 555,
         550, 462, 366, 360, 282, 273, 265]
wordcloud = WordCloud(width=1300, height=620)
wordcloud.add("", name, value, word_size_range=[20, 100],shape='diamond')
wordcloud.show_config()
wordcloud.render('worldcloud.html')

展示图像:
在这里插入图片描述
示例代码2:

from pyecharts import Radar
value_bj = [
    [55, 9, 56, 0.46, 18, 6, 1], [25, 11, 21, 0.65, 34, 9, 2],
    [56, 7, 63, 0.3, 14, 5, 3], [33, 7, 29, 0.33, 16, 6, 4]]
value_sh = [
    [91, 45, 125, 0.82, 34, 23, 1], [65, 27, 78, 0.86, 45, 29, 2],
    [83, 60, 84, 1.09, 73, 27, 3], [109, 81, 121, 1.28, 68, 51, 4]]
c_schema= [{"name": "AQI", "max": 300, "min": 5},
           {"name": "PM2.5", "max": 250, "min": 20},
           {"name": "PM10", "max": 300, "min": 5},
           {"name": "CO", "max": 5},
           {"name": "NO2", "max": 200},
           {"name": "SO2", "max": 100}]
radar = Radar()
radar.config(c_schema=c_schema, shape='circle')
radar.add("北京", value_bj, item_color="#f9713c", symbol=None)
radar.add("上海", value_sh, item_color="#b3e4a1", symbol=None)
radar.show_config()
radar.render('radar2.html')

展示图像2:
在这里插入图片描述

十五、饼图

普通饼图

示例代码:

from pyecharts import Pie

attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [11, 12, 13, 10, 10, 10]
pie = Pie("饼图示例")
pie.add("", attr, v1, is_label_show=True)
pie.show_config()
pie.render('pie.html')

展示图像:
在这里插入图片描述

玫瑰饼图

示例代码:

from pyecharts import Pie

attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [11, 12, 13, 10, 10, 10]
v2 = [19, 21, 32, 20, 20, 33]
pie = Pie("饼图-玫瑰图示例", title_pos='center', width=900)
pie.add("商品A", attr, v1, center=[25, 50], is_random=True, radius=[30, 75], rosetype='radius')
pie.add("商品B", attr, v2, center=[75, 50], is_random=True, radius=[30, 75], rosetype='area',
        is_legend_show=False, is_label_show=True)
pie.show_config()
pie.render('pie2.html')

展示图像:
在这里插入图片描述

十六、其他图

展示一个圆环组合图
示例代码:

from pyecharts import Pie

pie = Pie('各类电影中"好片"所占的比例', "数据来着豆瓣", title_pos='center')
pie.add("", ["剧情", ""], [25, 75], center=[10, 30], radius=[18, 24],
        label_pos='center', is_label_show=True, label_text_color=None, )
pie.add("", ["奇幻", ""], [24, 76], center=[30, 30], radius=[18, 24],
        label_pos='center', is_label_show=True, label_text_color=None, legend_pos='left')
pie.add("", ["爱情", ""], [14, 86], center=[50, 30], radius=[18, 24],
        label_pos='center', is_label_show=True, label_text_color=None)
pie.add("", ["惊悚", ""], [11, 89], center=[70, 30], radius=[18, 24],
        label_pos='center', is_label_show=True, label_text_color=None)
pie.add("", ["冒险", ""], [27, 73], center=[90, 30], radius=[18, 24],
        label_pos='center', is_label_show=True, label_text_color=None)
pie.add("", ["动作", ""], [15, 85], center=[10, 70], radius=[18, 24],
        label_pos='center', is_label_show=True, label_text_color=None)
pie.add("", ["喜剧", ""], [54, 46], center=[30, 70], radius=[18, 24],
        label_pos='center', is_label_show=True, label_text_color=None)
pie.add("", ["科幻", ""], [26, 74], center=[50, 70], radius=[18, 24],
        label_pos='center', is_label_show=True, label_text_color=None)
pie.add("", ["悬疑", ""], [25, 75], center=[70, 70], radius=[18, 24],
        label_pos='center', is_label_show=True, label_text_color=None)
pie.add("", ["犯罪", ""], [28, 72], center=[90, 70], radius=[18, 24],
        label_pos='center', is_label_show=True, label_text_color=None, is_legend_show=True, legend_top="center")
pie.show_config()
pie.render('e.html')

展示图像:
在这里插入图片描述
以上内容仅供参考学习,如有侵权请联系我删除!
如果这篇文章对您有帮助,左下角的大拇指就是对博主最大的鼓励。
您的鼓励就是博主最大的动力!

发布了120 篇原创文章 · 获赞 11 · 访问量 6950

猜你喜欢

转载自blog.csdn.net/weixin_45366499/article/details/105199383