网站备案信息地址,西宁制作网站多少钱,江门模板建站源码,asp.net商务网站 包括哪些文件一、案例效果 通过pyecharts可以实现数据的动态显示#xff0c;直观的感受1960~2019年世界各国GDP的变化趋势 二、通过Bar构建基础柱状图 反转x轴和y轴 标签数值在右侧 from pyecharts.charts import Bar
from pyecharts.options import LabelOpts# 构建柱状图对象
bar Bar()…一、案例效果 通过pyecharts可以实现数据的动态显示直观的感受1960~2019年世界各国GDP的变化趋势 二、通过Bar构建基础柱状图 反转x轴和y轴 标签数值在右侧 from pyecharts.charts import Bar
from pyecharts.options import LabelOpts# 构建柱状图对象
bar Bar()# 添加x轴数据
bar.add_xaxis([中国, 美国, 英国])
# 添加y轴数据
bar.add_yaxis(GDP, [30, 20, 10], label_optsLabelOpts(positionright))
#反转x轴和y轴
bar.reversal_axis()# 绘图
bar.render(基础柱状图.html) 三、基础时间线柱状图的绘制 1、Timeline()—时间线 柱状图描述的是分类数据回答的是每一个分类中【有多少】这个问题这是柱状图的主要特点同时柱状图很难动态的描述一个趋势性的数据这里pyecharts为我们提供了一种解决方案——时间线 如果说一个Bar、Line对象是一张图表的话时间线就是创建一个一维的x轴轴上的每一个点就是一个图表对象 2、创建时间线 3、自动播放 4、时间线设置主题 from pyecharts.charts import Bar, Timeline
from pyecharts.options import *
from pyecharts.globals import ThemeTypebar1 Bar()
bar1.add_xaxis([中国, 美国, 英国])
bar1.add_yaxis(GDP, [30, 20, 10], label_optsLabelOpts(positionright))
bar1.reversal_axis()bar2 Bar()
bar2.add_xaxis([中国, 美国, 英国])
bar2.add_yaxis(GDP, [50, 40, 30], label_optsLabelOpts(positionright))
bar2.reversal_axis()bar3 Bar()
bar3.add_xaxis([中国, 美国, 英国])
bar3.add_yaxis(GDP, [70, 60, 40], label_optsLabelOpts(positionright))
bar3.reversal_axis()# 构建时间线
timeline Timeline({theme: ThemeType.MACARONS})
# 在时间线内部添加柱状图对象
timeline.add(bar1, 点1)
timeline.add(bar2, 点2)
timeline.add(bar3, 点3)
# 自动播放设置
timeline.add_schema(play_interval1000, # 自动播放的时间间隔单位毫秒is_timeline_showTrue, # 是否在自动播放的时候显示时间线is_auto_playTrue, # 是否自动播放is_loop_playTrue # 是否循环自动播放
)# 绘图是用时间线对象绘图而不是bar对象
timeline.render(基础时间线柱状图.html) 四、动态GDP柱状图的绘制 1、列表的sort方法 在前面我们学习过sorted函数可以对数据容器进行排序。 在后面的数据处理中我们需要对列表进行排序并指定排序规则sorted函数就无法完成了。所以我们补充学习列表的sort方法。 使用方法 列表.sort(key选择排序依据的函数reverseTrue|False) · 参数key是要求传入一个函数表示将列表的每一个元素都传入函数中返回排序的依据 · 参数reverse是否反转排序结果True表示降序False表示升序 # 准备列表
my_list [[a, 33], [b, 55], [c, 11]]# 排序基于带名函数
# def choose_sort_key(element):
# return element[1]
# my_list.sort(keychoose_sort_key, reverseTrue)
# print(my_list)# 排序基于lambda匿名函数
my_list.sort(keylambda element: element[1], reverseTrue)
print(my_list) 2、需求分析 3、处理数据 4、绘图
from pyecharts.charts import Bar, Timeline
from pyecharts.options import *
from pyecharts.globals import ThemeType# 读取数据
f open(D:/1960-2019全球GDP数据.csv, r, encodingGB2312)
data_lines f.readlines()
# 关闭文件
f.close()
# 删除第一条数据
data_lines.pop(0)
# 将数据转换为字典存储格式为
# {年份: [[国家, GDP],[国家, GDP],……], 年份: [[国家, GDP],[国家, GDP],……],……}
# 先定义一个字典对象
data_dict dict()
for line in data_lines:year int(line.split(,)[0]) # 年份country line.split(,)[1] # 国家GDP float(line.split(,)[2]) # GDP数据# 如何判断字典里面有没有指定的key呢try:data_dict[year].append([country, GDP])except KeyError:data_dict[year][]data_dict[year].append([country, GDP])# 创建时间线对象
timeline Timeline({theme: ThemeType.LIGHT})
# 排序年份
sorted_year_list sorted(data_dict.keys())
for year in sorted_year_list:data_dict[year].sort(keylambda element: element[1], reverseTrue)# 取出本年份前八名的国家year_data data_dict[year][:8]x_data []y_data []for country_gdp in year_data:x_data.append(country_gdp[0]) # x轴添加国家y_data.append(country_gdp[1] / 100000000) # y轴添加gdp数据# 构建柱状图对象bar Bar()x_data.reverse()y_data.reverse()bar.add_xaxis(x_data)bar.add_yaxis(GDP(亿), y_data, label_optsLabelOpts(positionright))# 反转x轴和y轴bar.reversal_axis()# 设置每一年的图表标题bar.set_global_opts(title_optsTitleOpts(titlef{year}年全球前8名GDP数据),toolbox_optsToolboxOpts(is_showTrue))timeline.add(bar, str(year))# 设置时间线自动播放
timeline.add_schema(play_interval500,is_timeline_showTrue,is_auto_playTrue,is_loop_playFalse
)
# 绘图
timeline.render(1960-2019年全球GDP前8国家.html)
生成的图表链接PC端打开
http://localhost:63342/pythonProject/1960-2019%E5%B9%B4%E5%85%A8%E7%90%83GDP%E5%89%8D8%E5%9B%BD%E5%AE%B6.html?_ijte2vorgbc1leno4grnck9tsdg21_ij_reloadRELOAD_ON_SAVE