百度开源绘图工具——echarts的使用

pip install pyecharts
pip install pyecharts-snapshot

条形图的绘制 ——Bar

需求1:
假设你获取到了某年内地电影票房前几的电影(列表a)和电影票房数据(列表b),那么如何更加直观的展示该数据?
a = [“战狼2”,“速度”,“功夫瑜伽”,“西游伏妖篇”,“变形金刚5”,“摔跤吧”]
b = [56.01, 26.94, 17.53, 16.49, 15.45, 12.96]

from pyecharts import Bar	#导入条形图绘制模块
movieName = ["战狼2","速度","功夫瑜伽","西游伏妖篇","变形金刚5","摔跤吧"]
movieMoney = [56.01, 26.94, 17.53, 16.49, 15.45, 12.96]

print(len(movieName), len(movieMoney))
bar = Bar(title="某年内地电影票房前6的电影", subtitle="这是一个子标题")
# 添加图表的数据, 或者配置信息
bar.add("电影信息",movieName, movieMoney)
# 默认情况下会生成一个render.html文件,可转至网页中查看绘制的图形
bar.render()  

在这里插入图片描述
需求2:同一张图中绘制多个条形图
假设你知道了列表a中电影分别在2017-09-14(b_14), 2017-09-15(b_15), 2017-09-16(b_16)
三天的票房,为了展示列表中电影本身的票房以及同其他电影的数据对比情况,应该如何更加直观的呈现该数据?
a = ["猩球崛起3:终极之战”,"敦刻尔克”,"蜘蛛侠”,"战狼2”]
b_16 = [15746,312,4497,319]
b_15 = [12357,156,2045,168]
b_14 = [2358,399,2358,362]

from pyecharts import Bar

x_movies_name = ["猩球崛起", "敦刻尔克", "蜘蛛侠", "战狼2"]
y_16 = [15746, 312, 4497, 319]
y_15 = [12357, 156, 2045, 168]
y_14 = [2358, 399, 2358, 362]

bar = Bar(title="某年内地电影票房前20的电影 matplotlib.font_manager.FontProperties ", subtitle="子标题")
bar.add("2017-09-14", x_movies_name, y_14, mark_line=['min', 'max'], mark_point=['average'])	#标记最高点和最低点
bar.add("2017-09-15", x_movies_name, y_15)
bar.add("2017-09-16", x_movies_name, y_16)

bar.render()

在这里插入图片描述

散点图的绘制:Scatter

需求1:
北京三四月份白天气温变化散点图。
数据:
x_march = list(range(1, 32))
y_temp_march = [11, 17, 16, 11, 12, 11, 12, 6, 6, 7, 8, 9, 12, 15, 14, 17, 18, 21, 16, 17, 20, 14, 15, 15, 15, 19, 21, 22, 22, 22, 23]
y_temp_april = [17, 19, 21, 21, 16, 20, 25, 16, 17, 10, 19, 23, 12, 25, 19, 14, 21, 18, 16, 20, 17, 14, 15, 15, 15, 19, 21, 26, 20, 22, 28]

x_march = list(range(1, 32))
y_temp_march = [11, 17, 16, 11, 12, 11, 12, 6, 6, 7, 8, 9, 12, 15, 14, 17, 18, 21, 16, 17, 20, 14, 15, 15, 15, 19, 21, 22, 22, 22, 23]


# scatter= EffectScatter("北京3月份每天白天的最高气温随时间(天)变化的散点图")
scatter= Scatter("北京3月份白天变化的散点图", subtitle="xxxx")
# symbol_size散点图标记的大小;
scatter.add("3 月", x_march, y_temp_march, symbol_size=10, line_color='red')
scatter.render()

在这里插入图片描述

漏斗图的绘制:Funnel

from pyecharts import Funnel

x_movies_name = ["猩球崛起", "敦刻尔克", "蜘蛛侠", "战狼2"]
y_16 = [20, 40, 60, 80]
funnel = Funnel("xxxx")
funnel.add("电影信息", x_movies_name, y_16)
funnel.render()

在这里插入图片描述

仪表盘图的绘制:Gauge

from pyecharts import  Gauge  
import psutil	#导入查看cpu使用的模块


cpu_percent = psutil.cpu_percent()	#查看当前cpu的使用率
print(cpu_percent)
gauge = Gauge("CPU使用率")
gauge.add("cpu", "CPU使用率", cpu_percent)
gauge.render()

在这里插入图片描述

水球图的绘制:Liquid

from pyecharts import Liquid

liquid = Liquid("xxxx")
liquid.add("Liquid", [0.6, 0.5, 0.4, 0.3],  shape='pin')
liquid.render()

在这里插入图片描述

饼状图的绘制:Pie

from pyecharts import  Pie


attr = ["男", '女', '其他']
data = [100, 180, 2]


pie = Pie("example")
# 是否直接显示label信息:is_label_show=
pie.add("", attr, data, is_label_show=True)
pie.render()

在这里插入图片描述

折线图的绘制:Line

常规折线图

import random
from pyecharts import Line

# 图表的x轴的数据, 是一个可迭代的数据类型
x_times = list(range(0,30))
# 图表的y轴的数据, 是一个可迭代的数据类型
y_temp_3 = [random.randint(20, 35) for i in range(30)]
y_temp_10 = [random.randint(20, 35) for j in range(30)]

line  = Line("折线图")
#
line.add("", x_times, y_temp_3, mark_line=['max'], mark_point=['min'])
line.add("", x_times, y_temp_10, mark_line=['max'], mark_point=['min'])
line.render()

在这里插入图片描述
折线图——直角折线图(阶梯图)


import random
from pyecharts import Line

# 图表的x轴的数据, 是一个可迭代的数据类型
x_times = list(range(0,30))
# 图表的y轴的数据, 是一个可迭代的数据类型
y_temp_3 = [random.randint(20, 35) for i in range(30)]
y_temp_10 = [random.randint(20, 35) for j in range(30)]

# 折线图---阶梯图
line  = Line("阶梯折线图")
line.add("", x_times, y_temp_3, mark_line=['max'], mark_point=['min'], is_step=True)
line.add("", x_times, y_temp_10, mark_line=['max'], mark_point=['min'], is_step=True)

line.render()

在这里插入图片描述
折线图——面积图

import random
from pyecharts import Line

# 图表的x轴的数据, 是一个可迭代的数据类型
x_times = list(range(0,30))
# 图表的y轴的数据, 是一个可迭代的数据类型
y_temp_3 = [random.randint(20, 35) for i in range(30)]
y_temp_10 = [random.randint(20, 35) for j in range(30)]

line.render()

在这里插入图片描述

地图绘制:

官网网址: http://pyecharts.org/#/zh-cn/charts_base

  • 绘制地图前要安装模块:
 pip install echarts-countries-pypkg
 pip install echarts-china-provinces-pypkg
 pip install echarts-china-cities-pypkg
 pip install echarts-china-counties-pypkg

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

from pyecharts import Geo

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

geo = Geo(
    "全国主要城市空气质量",
    "data from pm2.5",
    title_color="#fff",
    title_pos="center",
    width=1200,
    height=600,
    background_color="#404a59",
)
attr, value = geo.cast(data)
geo.add(
    "",
    attr,
    value,
    visual_range=[0, 200],
    visual_text_color="#fff",
    symbol_size=15,
    is_visualmap=True,
)
geo.render()

在这里插入图片描述
需求2:全国各地区海拔高度图

from pyecharts import Map

import numpy as np

value = [155, 10, 66, 78, 33, 80, 190, 53, 49.6]
attr = [
    "福建", "山东", "北京", "上海", "甘肃", "新疆", "河南", "广西", "西藏"
    ]

# background_color="#404a59"
map = Map("Map 结合 VisualMap 示例:全国各地区海拔高度示意图", width=1200, height=600, )
map.add(
    "",
    attr,
    value,
    maptype="china",
    is_visualmap=True,
    visual_text_color="#000",
)
map.render()

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42213622/article/details/87894420