1.考察知识点绘制时间线轮播图
编写程序,结合pyecharts.faker包产生随机数据,使用pyecharts绘制一个时间线轮播多图。
from example.commons import Faker
from pyecharts import options as opts
from pyecharts.charts import Bar,Timeline
x = Faker.choose()
tl = Timeline()
for i in range(2015, 2020):
bar = (
Bar()
.add_xaxis(x)
.add_yaxis("商家A", Faker.values())
.add_yaxis("商家B", Faker.values())
.set_global_opts(title_opts=opts.TitleOpts("某商店{}年营业额".format(i)),
yaxis_opts=opts.AxisOpts(name='销售额',
name_location='center', name_gap=30)))
tl.add(bar, "{}年".format(i))
tl.render('轮播图.html')
2. 考察知识点绘制组合图表
题目:虎扑社区分析实例
某网站对虎扑社区的用户及其行为进行了数据采集,将虎扑近3个月的1000多个贴子作为抽样数据,下面对虎扑各板块发帖数、社区和NBA板块的24小时发帖量、朔州市用户地域分布进行画图分析。
(1)虎扑社区主要包含NBA、CBA、足球、步行街、电竞等多个板块,其中统计的各板块的用户发帖量如下表所示。使用pyecharts的Pie类创建一个圆环图,使用圆环图来展示各板块的发帖数。
(2)某网站某天每隔2小时统计了虎扑社区及NBA板块的发帖量,整理后如下表所示。使用pyecharts的Line类创建一个折线图,通过折线图来反映虎扑社区和NBA板块24小时的发帖量 。
(3)某网站对社区内朔州市各地区用户量进行粗略统计,统计结果(模拟数据)如下表所示。使用pyecharts的Map类创建一个统计地图,通过统计地图来反映虎扑社区用户在朔州市各地区的分布情况。
使用pyecharts的Page类创建一个组合图表,将前面创建的圆环图、折线图、统计地图按顺序依次展示到同一网页中。
import pyecharts.options as opts
from pyecharts.globals import ThemeType
from pyecharts.charts import Pie, Line, Map, Page
pie_hupu = (
Pie()
.add('', [('NBA', 232345), ('CBA', 16976), ('国际足球', 44381), ('中国足球', 124),
('步行街', 512266), ('游戏电竞', 129065), ('自建板块', 3805), ('运动装备', 35124),
('综合体育', 4454), ('虎扑社团', 646), ('站务管理', 34467)],
radius=["40%", "75%"], center=['50%', '50%'])
.set_global_opts(title_opts=opts.TitleOpts(title="虎扑社区各板块发帖数圆环图"),
legend_opts=opts.LegendOpts(pos_left=10, pos_top=80,
orient='vertical'))
)
line_hupu = (
Line(init_opts=opts.InitOpts(theme=ThemeType.ROMA))
.add_xaxis(['{}: 00'.format(num) for num in range(24) if num % 2 == 0])
.add_yaxis('NBA', [259, 114, 134, 397, 840, 1577, 1413, 713, 647,
448, 462, 514], symbol='diamond', symbol_size=15)
.add_yaxis('虎扑', [1121, 370, 359, 845, 2270, 3582, 2947, 2215, 2106,
1843, 2045, 2178], symbol='triangle', symbol_size=15)
.set_global_opts(title_opts=opts.TitleOpts(
title='虎扑社区和NBA板块24小时发帖数'), yaxis_opts=opts.AxisOpts(
name='发帖数(个)', name_location='center', name_gap=40))
)
data_map = [['朔城区', 100], ['平鲁区', 70], ['山阴县', 68], ['应县', 40],
['右玉县', 30], ['怀仁县', 30]]
map_hupu = (
Map()
.add('', data_map, maptype='朔州')
.set_global_opts(title_opts=opts.TitleOpts(
title='虎扑朔州市用户地域分布'),
visualmap_opts=opts.VisualMapOpts(max_=100))
)
page = Page()
page.add(pie_hupu, line_hupu, map_hupu)
page.render("虎扑社区分析实例.html")