day 30 动态GDP柱状图绘制

news2024/11/30 12:49:02

列表.sort(key=选择排序依据的函数,reverse=True|False)

参数key:要求传入一个函数,表示将列表的每一个元素传入函数当中,返回排序的依据,

参数reverse,是否反转排序结果,True降序,False升序

my_list = [["a", 33], ["b", 55], ["c", 11]]


# 排序基于带名函数
def choose_sort_key(element):
    return element[1]


# my_list.sort(key=choose_sort_key, reverse=True)

# 通过lambda匿名函数来排序
my_list.sort(key=lambda element: element[1],reverse=True)
print(my_list)
from pyecharts.charts import Bar, Timeline
from pyecharts.options import *

f = open("D:/1960-2019全球GDP数据.csv", "r", encoding="GB2312")
# 读取每一行
data = f.readlines()
f.close()
# 删除第一行无用数据
data.pop(0)

data_dict = dict()
for line in data:
    year = int(line.split(",")[0])  # 年份
    country = line.split(",")[1]  # 国家
    gpd = float(line.split(",")[2])  # gdp,科学计数法转换为float
    try:
        data_dict[year].append([country, gpd])
    except KeyError:
        data_dict[year] = []  # 给字典添加一个键值对键值为year的值的[]的空集
        data_dict[year].append([country, gpd])

timeline = Timeline()

# 排序年份
sorted_year_list = sorted(data_dict.keys())
for year in sorted_year_list:
    data_dict[year].sort(key=lambda element: element[1], reverse=True)
    # 取出本年度排名前8的国家
    year_data = data_dict[year][0:8]
    x_data = []
    y_data = []
    for country_gap in year_data:
        x_data.append(country_gap[0])  # 在x轴添加国家
        y_data.append(country_gap[1] / 100000000)  # 在y轴添加gdp数据

    bar = Bar()
    x_data.reverse()  # 反转图标,gdp高的在上面
    y_data.reverse()
    bar.add_xaxis(x_data)
    bar.add_yaxis("GDP亿", y_data, label_opts=LabelOpts(position="right"))
    bar.reversal_axis()
    bar.set_global_opts(title_opts=TitleOpts(title=f"{year}年全球数据"))
    timeline.add(bar, str(year))


timeline.add_schema(
    play_interval=1000,
    is_timeline_show=True,
    is_auto_play=True,
    is_loop_play=True
)

timeline.render("动态GDP柱状图.html")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/951350.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux下启动mysql不成功

最近在linux安装mysql数据库时,启动mysql,总是不成功,报如上所述问题,经过一番排查,最终是权限问题,将mysql目录下,统一修改为root权限。

C语言面向对象的编程思想

面向对象编程 面向对象编程Object-Oriented Programming,OOP) 作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征&#xff0…

算法通过村第四关-栈黄金笔记|表达式问题

文章目录 前言1. 计算器问题2. 逆波兰表达式问题 总结 前言 提示:快乐的人没有过去,不快乐的人除了过去一无所有。 --理查德弗兰纳根《深入北方的小路》 栈的进阶来了,还记得栈的使用场景吗?表达式和符号,这不就来了 1…

杂记 23.8.30

目录 tesol专业介绍 EMBA项目 适合学习时候听的轻音乐 安全感和孤独感 puffy fix sb up with sth For all the world Size up 博雅、博雅教育 人是需要被仰视的 tesol专业介绍 tesol专业的全称是“Teaching English to Speakers of Other Language”,可译…

自动化管理管理工具----Ansible

目录 ​编辑 一、Ansible概念 1.1特点 二、工作机制(日常模块) 2.1 核心程序 三、Ansible 环境安装部署 四、ansible 命令行模块 4.1command 模块 4.2shell 模块 4.3cron 模块 4.4user 模块 4.5group 模块 4.6copy模块 4.7file模块 4.8ho…

支持AI视频处理的高容量流媒体加速卡方案

// 编者按: 实况直播业务随着流媒体市场的发展增长迅速。与传统流媒体“一对多”的模式不同,直播流媒体高交互的特性和 “多对多”的架构对时延的要求越来越高,传统基础设施部署和硬件已经不能高效处理这类需求。在此背景下,AMD…

ELK日志收集系统(四十九)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、概述 二、组件 1. elasticsearch 2. logstash 2.1 工作过程 2.2 INPUT 2.3 FILETER 2.4 OUTPUTS 3. kibana 三、架构类型 3.1 ELK 3.2 ELKK 3.3 ELFK 3.5 EF…

科技政策 | 浙江省科学技术厅关于组织申报2024年度“尖兵”“领雁”研发攻关计划第一批项目的通知

原创 | 文 BFT机器人 近日浙江省科技厅发布了2024年第一批“尖兵”“领雁”研发攻关计划;2024年度攻关计划将围绕三大科创高地战略领域,聚焦研发具有先发优势的关键共性技术和引领未来发展的基础前沿技术,根据战略需求、规划需求、市场需求等…

MySQL之从单机到集群

写在前面 本文一起看下MySQL是单机存在的问题,以及为了解决这些问题所提出的各种解决方案。 1:从单机到集群 并非业务发展初期我们就直接使用集群来支撑业务,而是简单的使用单机版本,但是随着业务的发展,单机的各种…

22 Linux高级篇-定制自己的Linux系统

22 Linux高级篇-定制自己的Linux系统 文章目录 22 Linux高级篇-定制自己的Linux系统22.1 Linux7启动流程介绍22.1.1 Linux7启动流程22.1.3 systemd概述 22.2 *制作min-linux思路分析22.3 操作步骤步骤1:创建新磁盘步骤2:制作启动盘步骤3:创建…

一个简单的vim例子

一.欢迎来到我的酒馆 在本章节介绍vim工具。 目录 一.欢迎来到我的酒馆二.什么是vim 二.什么是vim 2.1什么是vim vim是一种Linux命令行类型 的文本编辑器。vim指的是"vi improved",意思是vi工具的升级版。vim是基于vi实现的,它提供了…

设计模式--模板方法模式(Template Method Pattern)

一、什么是模板方法模式(Template Method Pattern) 模板方法模式(Template Method Pattern)是一种行为型设计模式,它定义了一个算法的骨架,将一些步骤的实现延迟到子类中。模板方法模式允许在不改变算法的…

视频汇聚/视频云存储/视频监控管理平台EasyCVR新增首次登录强制修改密码

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。视频汇聚平台既具…

Quartus II安装下载驱动

Quartus II安装下载驱动 安装步骤: (1)安装完quartus后会自带USB-Blaster的驱动程序,因此不用再去网上下载。 (2)右键点脑左下角win,找到设备管理器并进入。 (3)找到…

QT 常用类与组件

0 思维导图 1 信息调试类&#xff08;QDebug&#xff09; #include "widget.h" #include<iostream> //printf #include<QDebug> //qDebuf using namespace std; //coutWidget::Widget(QWidget *parent): QWidget(parent) {//输出函数//使用…

【python爬虫】—图片爬取

图片爬取 需求分析Python实现 需求分析 从https://pic.netbian.com/4kfengjing/网站爬取图片&#xff0c;并保存 Python实现 获取待爬取网页 def get_htmls(pageslist(range(2, 5))):"""获取待爬取网页"""pages_list []for page in pages:u…

[Pandas] 求百分比并添加百分(%)号

导入数据 import pandas as pddf pd.DataFrame(data{orders: [2130,5102,3256,1297,1918,786],repeat_orders: [73,158,89,30,49,18]}) df df[repetition_rate] df[repeat_orders] / df[orders] df df[repetition_rate] df[repetition_rate].apply(lambda x: format(x, .2…

哈希表+字符串

一)知识回顾: 1)哈希表是什么?哈希表是存储数据的容器 2)哈希表有啥用?快速的查找某一个元素 3)什么时候使用哈希表?频繁的查找某一个数的时候&#xff0c;当我们快速查找某一个数的时候&#xff0c;不光要想到哈希表还需要想到二分查找&#xff0c;但是二分查找算法的局限性…

Linux——(第二章)Linux的目录结构

VMwear workstations下载及安装 Ubuntu server 18.04安装 VScode下载与安装 使用VS Code连接远程服务器 MobaXterm的下载安装及远程连接 Filezila的下载、安装与使用&#xff08;向服务器传输文件&#xff09; 目录 1.基本介绍 2.Linux目录结构 3.具体目录说明 4.补充 1.基…

从编程语言的角度来理解正则表达式

程序代码是对现实事物处理逻辑的抽象&#xff0c;而正则表达式&#xff0c;则是对复杂的字符匹配程序代码的进一步抽象&#xff1b;也就是说&#xff0c;高度简洁的正则表达式&#xff0c;可以认为其背后所对应的&#xff0c;是字符匹配程序代码&#xff0c;而字符匹配程序代码…