分享

如何使用pyecharts中自带的数据集?

 老马的程序人生 2021-06-20

如何使用 pyecharts 中自带的数据集?

我们在学习pyehcarts绘图的过程中,需要一些练习的数据。

pyecharts为我们提供了这样的数据集 -- Faker,存储于 faker.py 文件中。

下面,我们就来详细介绍一下。

1. Faker中包含的数据集

这些数据集以列表的方式存储,主要包含类别数据、时间数据、颜色数据、地理数据、世界人口数据。

(1)类别数据

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

(2)时间数据

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()
)
months = ["{}月".format(i) for i in range(113)]
days_attrs = ["{}天".format(i) for i in range(30)]
days_values = [random.randint(130for _ in range(30)]

(3)颜色数据

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

(4)地理数据

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

(5)世界人口数据

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

POPULATION = [
    ["Country (or dependency)""Population\n(2019)"],
    ["China"1420062022],
    ["India"1368737513],
    ["United States"329093110],
    ["Indonesia"269536482],
    ["Brazil"212392717],
    ["Pakistan"204596442],
    ["Nigeria"200962417],
    ["Bangladesh"168065920],
    ["Russia"143895551],
    ["Mexico"132328035],
    ["Japan"126854745],
    ["Ethiopia"110135635],
    ...
]

2. Faker中数据集的选取

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",
        ]
)

3. 例子

例子1:绘制折线图

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

c = Line({"theme": ThemeType.DARK})
c.add_xaxis(Faker.choose())
c.add_yaxis('商家A', Faker.values())
c.add_yaxis('商家B', Faker.values())
c.set_global_opts(title_opts={"text""Faker数据集练习"})
c.render('line_base.html')

例2:绘制柱状图

from pyecharts.faker import Faker
from pyecharts.charts import Bar
from pyecharts.globals import ThemeType

c = Bar({"theme": ThemeType.MACARONS})
c.add_xaxis(Faker.choose())
c.add_yaxis('商家A', Faker.values())
c.add_yaxis('商家B', Faker.values())
c.set_global_opts(title_opts={"text""Faker数据集练习"})
c.render('bar_base.html')

例子3:涟漪散点图

from pyecharts.faker import Faker
from pyecharts.charts import EffectScatter
from pyecharts.globals import ThemeType

c = EffectScatter({"theme": ThemeType.VINTAGE})
c.add_xaxis(Faker.choose())
c.add_yaxis('', Faker.values())
c.set_global_opts(title_opts={"text""Faker数据集练习"})
c.render('effectscatter_base.html')

相关图文:


    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约