數據可視化訓練第7天(json文件讀取國家人口數據,找出前10和后10)

數據

https://restcountries.com/v3.1/all;建議下載下來,并不是很大

import numpy as np
import matplotlib.pyplot as plt
import requests
import json
#由于訪問url過于慢;將數據下載到本地是json數據
#url='https://restcountries.com/v3.1/all'#r=requests.get(url)
#r.json()獲得文件數據
#statuscode判斷是否成功訪問filename='/Users/oommnn/Desktop/學習筆記/數據可視化30天項目/all.json'try:with open(filename) as f:data=json.load(f)except FileNotFoundError:print(f"{filename}找不到")#這是姓名的數組print(data[0]['name'])
#這是人口的消息print(data[0]['population'])results=[]
#250個國家print(len(data))
for i in range(len(data)):result={'name':data[i]['name']['common'],'population':int(data[i]['population'])}results.append(result)
print(results[:2])arr_results=np.array(results)
#列表的排序
results=sorted(results,key=lambda x: x['population'],reverse=True)
#np數組的排序;沒有直接的方法#可視化過程;使用matplotlib
x_values=[result['name'] for result in results]
y_values=[result['population'] for result in results]fig,axs=plt.subplot_mosaic([['left_top','left_top'],['left_bottom','left_bottom']],figsize=(20,15),facecolor='gray')axs['left_top'].bar(x_values[:10],y_values[:10])
axs['left_top'].set_title("Max Population about country")
axs['left_top'].set_xlabel('Country')
axs['left_top'].set_ylabel('Number/a hundred million')
axs['left_top'].set_xticks(x_values[:10],x_values[:10],rotation=45,fontsize=13)axs['left_bottom'].bar(x_values[-10:],y_values[-10:])
axs['left_bottom'].set_title("Min Population about country")
axs['left_bottom'].set_xlabel('Country')
axs['left_bottom'].set_ylabel('Number/people')
axs['left_bottom'].set_xticks(x_values[-10:],x_values[-10:],rotation=45,fontsize=13)plt.show()

在這里插入圖片描述

總結

  • 關于數組的字典排序,屬于lambda內置排序函數
  • set_xticks設置刻度和字體翻轉;第一個參數是需要多少個刻度ticks,數值型代表數,字符串代表本身,第二個參數是一一對應刻度的標簽labels

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/12195.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/12195.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/12195.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MATLAB蟻群算法求解帶時間窗的旅行商TSPTW問題代碼實例

MATLAB蟻群算法求解帶時間窗的旅行商TSPTW問題代碼實例 蟻群算法編程求解TSPTW問題實例: 在經緯度范圍為(121, 43)到(123, 45)的矩形區域內,散布著1個商家(編號1)和25個顧客點(編號為226),各個…

前端工程化實踐:Monorepo與Lerna管理

前端工程化實踐中,Monorepo(單倉庫)管理和Lerna是兩種流行的方式,用于大型項目或組件庫的組織和版本管理。 2500G計算機入門到高級架構師開發資料超級大禮包免費送! Monorepo簡介 Monorepo(單倉庫&#…

web入門練手案例(二)

下面是一下web入門案例和實現的代碼,帶有部分注釋,倘若代碼中有任何問題或疑問,歡迎留言交流~ 數字變色Logo 案例描述 “Logo”是“商標”的英文說法,是企業最基本的視覺識別形象,通過商標的推廣可以讓消費者了解企…

第一個Rust程序

在安裝好Rust以后,我們就可以編寫程序了。 首先,我們執行下面的命令,盡量讓你的rust版本和我的版本相同,或者比我的版本大。 zhangdapengzhangdapeng:~$ cargo --version cargo 1.78.0 (54d8815d0 2024-03-26) zhangdapengzhangd…

C語言(指針)2

Hi~!這里是奮斗的小羊,很榮幸各位能閱讀我的文章,誠請評論指點,關注收藏,歡迎歡迎~~ 💥個人主頁:小羊在奮斗 💥所屬專欄:C語言 本系列文章為個人學習筆記&#x…

聽說SOLIDWORKS科研版可以節約研發成本?

近幾年來,政府越來越重視科研帶動產業,績效優良的產業技術研究院對于國家和地區的學術成果轉化、技術創新、產業發展等具有不可忽視的促進和帶動作用。研究院會承擔眾多新產業的基礎研究工作,而常規的基礎研究需要長期的積累,每個…

JAVA畢業設計141—基于Java+Springboot+Vue的物業管理系統(源代碼+數據庫)

畢設所有選題: https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootVue的物業管理系統(源代碼數據庫)141 一、系統介紹 本項目前后端分離,分為管理員、員工、用戶三種角色(角色權限可自行分配) 1、用戶: …

Nginx詳解:高性能HTTP和反向代理服務器

Nginx詳解:高性能HTTP和反向代理服務器 一、引言 Nginx(發音為“engine x”)是一個開源的高性能HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP代理服務器。由于其出色的性能和穩定性,Nginx已經成為互聯網上最受歡迎的…

asp.net結課作業中遇到的問題解決4

目錄 1、vs2019每次運行一次項目之后,樣式表的格式就算在vs2019上改變了,在瀏覽器中顯示的還是以前的樣式,所以應該如何修改 2、如何實現選擇下拉框之后,顯示所選擇的這個類型的書籍的名稱 3、如何實現點擊首頁顯示的書籍&#…

高清模擬視頻采集卡CVBS四合一信號采集設備解析

介紹一款新產品——LCC261高清視頻采集與編解碼一體化采集卡。這款高品質的產品擁有卓越的性能表現和豐富多樣的功能特性,能夠滿足廣大用戶對于高清視頻采集、處理以及傳輸的需求。 首先,讓我們來了解一下LCC261的基本信息。它是一款基于靈卡技術研發的高…

Shell三劍客之sed

前言: Shell三劍客是grep、sed和awk三個工具的簡稱,因功能強大,使用方便且使用頻率高,因此被戲稱為三劍客,熟練使用這三個工具可以極大地提升運維效率。 sed是一個流編輯器,用于對文本進行編輯、替換、刪除等操作。sed…

LeetCode2095刪除鏈表的中間節點

題目描述 給你一個鏈表的頭節點 head 。刪除 鏈表的 中間節點 ,并返回修改后的鏈表的頭節點 head 。長度為 n 鏈表的中間節點是從頭數起第 ?n / 2? 個節點(下標從 0 開始),其中 ?x? 表示小于或等于 x 的最大整數。對于 n 1、…

深入探索Android簽名機制:從v1到v3的演進之旅

引言 在Android開發的世界中,APK的簽名機制是確保應用安全性的關鍵環節。隨著技術的不斷進步,Android簽名機制也經歷了從v1到v3的演進。本文將帶你深入了解Android簽名機制的演變過程,揭示每個版本背后的技術細節,并探討它們對開…

淺談下MYSQL表設計的幾條規則

作為后端開發人員,避免不了和數據庫打交道,可是我們怎么能夠設計出高效,可維護,可擴展的數據庫設計呢,在這里我總結了幾個點,供大家參考。 在寫之前,可能需要重復下數據庫設計的范式原則&#…

docker-compose.yml文件詳解

創建 docker-compose.yml 文件是使用 Docker Compose 管理多容器應用的第一步。這個 YAML 格式的文件詳細描述了服務、網絡和卷等組件以及它們之間的關系。下面是對一個典型 docker-compose.yml 文件結構的詳解: 基本結構 一個基本的 docker-compose.yml 文件通常…

水雨情監測系統—實時監測水位信息

TH-SW3水雨情監測系統是一種專門用于實時監測和收集水文氣象數據的自動化系統。它能夠實時獲取區域內降雨和水情數據,并將其存儲到數據庫中進行分析處理,從而為防汛指揮人員提供及時準確的信息服務。 水雨情監測系統的主要功能包括實時監測水位、流速、流…

C++類與對象基礎探秘系列(二)

目錄 類的6個默認成員函數 構造函數 構造函數的概念 構造函數的特性 析構函數 析構函數的概念 析構函數的特性 拷貝構造函數 拷貝構造函數的概念 拷貝構造函數的特性 賦值運算符重載 運算符重載 賦值運算符重載 const成員 const修飾類的成員函數 取地址及const取地址操作…

MySQL文檔_下載

可能需要:MySQL下載–》更新版本–》遷移數據庫到MySQL 以下都不重要【只要確定好需要安裝版本,找到對應的版本下載,安裝,設置即可】 下載、安裝: Determine whether MySQL runs and is supported on your platform…

iCloud如何高效利用:提升蘋果生態體驗

iCloud如何高效利用:提升蘋果生態體驗 引言 iCloud是蘋果公司提供的云服務,它允許用戶在蘋果設備之間無縫同步數據和內容。隨著數字化生活的不斷發展,有效地管理和利用iCloud對于提高工作效率和生活質量變得越來越重要。本文將詳細介紹如何…

Debian12安裝后更換為國內鏡像源,切換root用戶,解決用戶名不在sudoers文件中此事將被報告

選擇Debian作為編程開發最佳Linux的理由: Debian是面向程序員的最古老,最出色的Linux發行版之一。Debian提供了具有.deb軟件包管理兼容性的超穩定發行版。Debian為程序員提供了許多最新功能。因此,它具有一個特殊的編程空間。Debian是開發人員…