pyecharts源码解读(3)内置数据集模块faker

本文介绍了 PyEcharts 的 Faker 模块,该模块提供内置数据集和随机生成方法,如衣物、饮料、水果等列表,以及随机选择、数值生成和颜色选择等方法。同时展示了 POPULATION 变量,包含2019年世界人口数据。这些工具对于快速创建示例图表和数据填充非常有用。
摘要由CSDN通过智能技术生成

当前pyecharts版本为1.9.0

概述

faker模块位于pyecharts包顶级目录中,文件名为faker.py。用于定义pyecharts的内置数据集。

faker模块按照Python常用的设计模式,把在全局范围内使用的变量定义在单一模块中的类中。

模块包含1个“私有”类_Faker、2个变量:_Faker类实例Faker(注意是Faker,此处未遵循Python常见命名规范)和POPULATION

在这里插入图片描述

Faker变量

属性

绝大多数属性均为列表结构,可用作类别数据。

clothes = ["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"]
drinks = ["可乐", "雪碧", "橙汁", "绿茶", "奶茶", "百威", "青岛"]
phones = ["小米", "三星", "华为", "苹果", "魅族", "VIVO", "OPPO"]
fruits = ["草莓", "芒果", "葡萄", "雪梨", "西瓜", "柠檬", "车厘子"]
animal = ["河马", "蟒蛇", "老虎", "大象", "兔子", "熊猫", "狮子"]
cars = ["宝马", "法拉利", "奔驰", "奥迪", "大众", "丰田", "特斯拉"]
dogs = ["哈士奇", "萨摩耶", "泰迪", "金毛", "牧羊犬", "吉娃娃", "柯基"]


week = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
week_en = "Saturday Friday Thursday Wednesday Tuesday Monday Sunday".split()
clock = (
    "12a 1a 2a 3a 4a 5a 6a 7a 8a 9a 10a 11a 12p "
    "1p 2p 3p 4p 5p 6p 7p 8p 9p 10p 11p".split()
)
days_attrs = ["{}天".format(i) for i in range(30)]
days_values = [random.randint(1, 30) for _ in range(30)]
months = ["{}月".format(i) for i in range(1, 13)]

provinces = ["广东", "北京", "上海", "江西", "湖南", "浙江", "江苏"]
guangdong_city = ["汕头市", "汕尾市", "揭阳市", "阳江市", "肇庆市", "广州市", "惠州市"]
country = [
    "China",
    "Canada",
    "Brazil",
    "Russia",
    "United States",
    "Africa",
    "Germany",
]

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

方法

choose:随机选择类别数据集

def choose(self) -> list:
    return random.choice(
        [
            self.clothes,
            self.drinks,
            self.phones,
            self.fruits,
            self.animal,
            self.dogs,
            self.week,
        ]
    )

values:随机生成7个数字(20-150)构成的列表

@staticmethod
def values(start: int = 20, end: int = 150) -> list:
    return [random.randint(start, end) for _ in range(7)]

rand_color:随机从列表中生成1个颜色值

@staticmethod
def rand_color() -> str:
    return random.choice(
        [
            "#c23531",
            "#2f4554",
            "#61a0a8",
            "#d48265",
            "#749f83",
            "#ca8622",
            "#bda29a",
            "#6e7074",
            "#546570",
            "#c4ccd3",
            "#f05b72",
            "#444693",
            "#726930",
            "#b2d235",
            "#6d8346",
            "#ac6767",
            "#1d953f",
            "#6950a1",
        ]
    )

img_path:为路径添加前缀,默认为images

@staticmethod
def img_path(path: str, prefix: str = "images") -> str:
    return os.path.join(prefix, path)

POPULATION变量:2019世界人口数据集

POPULATION为2019年世界人口数据集,结构为二层嵌套列表,结构如下,第一列为国家或地区,第二列为人口数量。

POPULATION = [
    ["Country (or dependency)", "Population\n(2019)"],
    ["China", 1420062022],
    ......
    ]

演示

from pyecharts.faker import POPULATION,Faker

print(Faker.week)
print(
    Faker.choose(),
    Faker.values(),
    Faker.rand_color()
)

输出为:

['周一', '周二', '周三', '周四', '周五', '周六', '周日']
['可乐', '雪碧', '橙汁', '绿茶', '奶茶', '百威', '青岛'] [25, 50, 23, 120, 120, 30, 124] #bda29a
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值