Pyecharts 模拟数据

在 Pyecharts 中,我们可以使用它自带的 Faker 这个库来生成模拟数据。使用了模拟数据,我们就不需要手动去指定数据了,这样可以很方便去学习 Pyecharts 的各种图表。

语法:

from pyecharts.faker import Faker

说明:

我们需要从 pyecharts.faker 模块中导入 Faker 这个库。对于 Faker 库来说,它常用的属性如下表所示。

Faker 的属性
属性 说明 取值
visual_color 随机颜色 ['#313695', '#4575b4', …, '#74add1']
months 12 个月份 ['1月', '2月', …, '12月']
clock 时间字符 ['12a', '1a', …, '11p']
week 中文星期 ['周一', '周二', …, '周日']
week_en 英文星期 ['Saturday', 'Friday', …, 'Sunday']
country 国家 ['China', 'Canada', …, 'Germany']
provinces 省份 ['广东', '北京', …, '江苏']
guangdong_city 城市(广东) ['汕头市', '汕尾市', …, '惠州市']
clothes 衣服 ['衬衫', '毛衣', …, '袜子']
fruits 水果 ['草莓', '芒果', …, '车厘子']
drinks 饮料 ['可乐', '雪碧', …, '青岛']
phones 手机 ['小米', '三星', …, 'OPPO']
cars 汽车 ['宝马', '法拉利', …, '特斯拉']
animal 动物 ['河马', '蟒蛇', …, '狮子']
dogs 小狗 ['哈士奇', '萨摩耶', …, '柯基']

除了表中的属性之外,Faker 库还提供了 2 种方法:values() 和 choose()。Faker.values(start, end) 返回的是一个数值型的列表,列表每一个数的取值范围是 [start, end]。

对于 Faker.choose() 这个方法,它是从下面这 7 个中选一个结果来返回。

  • Faker.week
  • Faker.phones
  • Faker.clothes
  • Faker.drinks
  • Faker.fruits
  • Faker.animal
  • Faker.dogs

对于 Faker 库,我们只需要记住一点:Faker 的所有属性和方法都会生成一个列表型的数据

示例 1:Faker 属性

from pyecharts.faker import Faker

print(Faker.visual_color)

运行结果如下。

['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf', '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']

示例 2:Faker.values()

from pyecharts.faker import Faker

print(Faker.values(100, 1000))

运行结果如下。

[907, 382, 237, 232, 212, 619, 804]

示例 3:Faker.choose()

from pyecharts.faker import Faker

print(Faker.choose())

运行结果如下。

['小米', '三星', '华为', '苹果', '魅族', 'VIVO', 'OPPO']

示例 4:Pyecharts 使用 Faker 绘制折线图

from pyecharts.charts import Line
from pyecharts.faker import Faker

# 数据
clothes = Faker.clothes
values = Faker.values()

# 绘图
line = Line()
line.add_xaxis(xaxis_data=clothes)
line.add_yaxis(series_name='衣服销量', y_axis=values)

# 渲染
line.render()

运行生成的 render.html,浏览器效果如下图所示。

pyecharts使用Faker绘制折线图

分析:

对于这个例子来说,Faker.clothes 会生成这样一个列表:['衬衫', '毛衣', '领带', '裤子', '风衣', '高跟鞋', '袜子'],而 Faker.values() 会生成这样一个列表:[95, 122, 26, 42, 148, 144, 39]。

示例 5:Pyecharts 使用 Faker 绘制柱形图

import pandas as pd
from pyecharts.charts import Bar
from pyecharts.faker import Faker

# 数据
months = Faker.months
values = Faker.values()

# 绘图
bar = Bar()
bar.add_xaxis(xaxis_data=months)
bar.add_yaxis(series_name='上衣', y_axis=values)

# 渲染
bar.render()

运行生成的 render.html,浏览器效果如下图所示。

pyecharts使用Faker绘制柱形图

分析:

对于这个例子来说,Faker.months 会生成这样一个列表:['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],而 Faker.values() 会生成这样一个列表:[44, 48, 27, 55, 122, 65, 41]。

示例 6:Pyecharts 使用 Faker 绘制地图

from pyecharts.charts import Map
import pyecharts.options as opts
from pyecharts.faker import Faker

# 数据
data = []
for x in zip(Faker.guangdong_city, Faker.values()):
    data.append(x)

# 绘图
map = Map()
map.add(series_name='各城市销量统计', data_pair=data, maptype='广东')
# 添加颜色区分
map.set_global_opts(visualmap_opts=opts.VisualMapOpts(
    type_='color',
    pos_bottom=50,
    pos_right=0
))

# 渲染
map.render()

运行生成的 render.html,浏览器效果如下图所示。

pyecharts使用Faker绘制地图

分析:

data = []
for x in zip(Faker.guangdong_city, Faker.values()):
    data.append(x)

在这个例子中,上面这一段代码会生成下面这样一个列表。

[('汕头市', 122), ('汕尾市', 119), ('揭阳市', 77), ('阳江市', 37), ('肇庆市', 108), ('广州市', 63), ('惠州市', 31)]
给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号