如何使用pyecharts中自带的数据集?
如何使用 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(1, 13)]
days_attrs = ["{}天".format(i) for i in range(30)]
days_values = [random.randint(1, 30) for _ 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')

相关图文:
