广州天呈网站建设,中商华兴建设有限公司网站,自己如何制作一个网站,网站建设相关网站终于来到最后一个数据可视化的文章拿啦~~~
在这里学习如何绘制动态柱状图 我先整个活 (๑′ᴗ‵๑)#xff29; Lᵒᵛᵉᵧₒᵤ❤ 什么是pyecharts#xff1f;
答#xff1a;
Python的Pyecharts软件包。它是一个用于Python数据可视化和图表绘制的库#xff0c;可用于制作…终于来到最后一个数据可视化的文章拿啦~~~
在这里学习如何绘制动态柱状图 我先整个活 (๑′ᴗ‵๑) Lᵒᵛᵉᵧₒᵤ❤ 什么是pyecharts
答
Python的Pyecharts软件包。它是一个用于Python数据可视化和图表绘制的库可用于制作各种图表和可视化结果包括柱状图、折线图、饼图、散点图、地图等。Pyecharts使用JavaScript的ECharts库进行底层绘制因此它提供了易于使用的Python界面和大量的示例代码。同时Pyecharts还支持在Jupyter notebook中的实时交互和动态展示使其非常适合于数据分析和数据可视化。
1.案例效果 2.创建基础柱状图 1通过Bar对象构建柱状图
2反转X,Y轴 3将数据置于右侧 4整体代码示例 构建基础柱状图from pyecharts.charts import Bar
from pyecharts.options import LabelOpts# 使用Bar构建基础柱状图
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)3.创建基础时间柱状图
1创建时间线 2设置自动播放 3设置时间线的主题 4整体代码
基础时间柱状图from pyecharts.charts import Bar, Timeline
from pyecharts.options import LabelOpts
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, 50, 100],label_optsLabelOpts(positionright))
bar2.reversal_axis()bar3 Bar()
bar3.add_xaxis([中国, 美国, 英国])
bar3.add_yaxis(GDP,[1000, 600, 300],label_optsLabelOpts(positionright))
bar3.reversal_axis()# 构建时间线对象
timeline Timeline(# 设置时间线的主题{theme: ThemeType.LIGHT}
)
# 在时间线内添加柱状图对象
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
)# 有了时间线之后绘图需要使用时间线对象绘图
timeline.render(基础时间线柱状图.html) 4.GDP动态柱状图的绘制
1补充知识列表的sort方法
sort()是Python中用于排序列表的内置函数。使用sort()方法可以对列表进行升序排列或降序排列。
sort()函数有两种用法
1. 对列表进行升序排列
my_list [2, 5, 1, 9, 4]my_list.sort()print(my_list) # 输出 [1, 2, 4, 5, 9]2. 对列表进行降序排列
my_list [2, 5, 1, 9, 4]my_list.sort(reverseTrue)print(my_list) # 输出 [9, 5, 4, 2, 1]3.sorted
另外之前学习过sorted()函数对列表进行排序不同的是sorted()函数不会修改原始列表而是返回一个新的已排序的列表。
例如
my_list [2, 5, 1, 9, 4]
sorted_list sorted(my_list)
print(my_list) # 输出 [2, 5, 1, 9, 4]
print(sorted_list) # 输出 [1, 2, 4, 5, 9]
注sort()和sorted()函数都是在原始列表的基础上进行排序因此会对原始列表做出修改或返回一个新的已排序的列表。如果不想对原始列表进行修改可以先对原始列表进行复制再进行排序。 4.使用方法 2数据处理
1.需求分析 2.处理数据 GDP动态柱状图绘制from pyecharts.charts import Bar, Timeline
from pyecharts.options import *
from pyecharts.globals import ThemeType# 读取数据
f open(D:\\IOText\\DataDoing\\1960-2019全球GDP数据.csv, r, encodingGB2312)
data_lines f.readlines()
# 关闭文件
f.close()
# 删除第一条数据
data_lines.pop(0)
# 将数据转化为字典存储格式
# 年份: [[国家gdp],[国家gdp]]
# 定义字典对象存储
data_dict {}
for line in data_lines:year int(line.split(,)[0])country line.split(,)[1]GDP float(line.split(,)[2])# 判断年份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)# 取GDP前八的year_data_before8 data_dict[year][0:8]x_data []y_data []for country_GDP in year_data_before8:# x轴添加国家x_data.append(country_GDP[0])# y轴添加GDPy_data.append(country_GDP[1] / 100000000)bar Bar()x_data.reverse()y_data.reverse()bar.add_xaxis(x_data)bar.add_yaxis(GDP(亿元), y_data, label_optsLabelOpts(positionright))# 翻转xy轴bar.reversal_axis()# 设置每一年的图标的标题bar.set_global_opts(title_optsTitleOpts(titlef{year}年全球前八GDP))# 加入时间线timeline.add(bar, str(year))# 设置
timeline.add_schema(play_interval1000,is_timeline_showTrue,is_auto_playTrue,is_loop_playTrue
)# 创建图
timeline.render(1960~2019年全球GDP前八国家.html)结语
对于刚刚接触编程的同学来说这个问题肯定是很难得但是多练习练习就好了ヾ(◍°∇°◍)
拜拜ヾ(▽)Bye~Bye~