#16-2 比较锡特卡和死亡谷的气温 :在有关锡特卡和死亡谷的图表中,气温刻度反映了数据范围的不同。为准确地比较锡特卡和死亡谷的气温范围,
# 需要在y 轴上使用相同的刻度。为此,请修改图16-5和图16-6所示图表的y 轴设置,对锡特卡和死亡谷的气温范围进行直接比较
# (你也可以对任何两个地方的气温范围进行比较)。你还可以尝试在一个图表中呈现这两个数据集。
import csv
from datetime import datetime
from matplotlib import pyplot as plt
filename = 'death_valley_2014.csv'
with open(filename) as f:reader = csv.reader(f)header_row = next(reader)dates, highs, lows = [], [], []for row in reader:try:current_date = datetime.strptime(row[0],"%Y-%m-%d")high = int(row[1])low = int(row[3])except ValueError:print(current_date,'missing data')else:dates.append(current_date)highs.append(high)lows.append(low)
fig = plt.figure(dpi=128,figsize=(10,6))
plt.plot(dates,highs,c='red',alpha=0.5)
plt.plot(dates,lows,c='blue',alpha=0.5)
plt.fill_between(dates,highs,lows,facecolor='blue',alpha=0.1)
plt.title("Daily high and low temperatures - 2014\nDeath Valley, CA",fontsize=24)
plt.xlabel("",fontsize=16)
fig.autofmt_xdate()
plt.ylabel("Temperature (F)", fontsize=16)
plt.tick_params(axis='both',which='major',labelsize=16)
plt.show()

16-2结果:

#16-3 降雨量 :选择你感兴趣的任何地方,通过可视化将其降雨量呈现出来。为此,可先只涵盖一个月的数据,
# 确定代码正确无误后,再使用一整年的数据来运行它。
import csv
from datetime import datetime
from matplotlib import pyplot as plt
filename = 'sitka_weather_2014.csv'
with open(filename) as f:reader = csv.reader(f)line = next(reader)clouds,dates = [],[]for row in reader:try:current_date = datetime.strptime(row[0],"%Y-%m-%d")cloud = row[-3]except ValueError:print(row[0],'missing data')else:clouds.append(cloud)dates.append(current_date)
fig = plt.figure(dpi=128,figsize=(10,6))
plt.plot(dates,clouds,c='red',alpha=0.1)
plt.title("Daily CloudCover -2014\nSitKa",fontsize=24)
plt.xlabel("Time",fontsize=16)
plt.ylabel("CloudCover",fontsize=16)
fig.autofmt_xdate()
plt.show()

16-3结果:

16-5人口分布地图:

import pygal
import json
from pygal_maps_world.i18n import COUNTRIES
def get_country_code(country_name):for code,name in COUNTRIES.items():if name == country_name:return codereturn Nonecc_populations = {}
filename = 'population_data.json'
with open(filename) as f:pop_data = json.load(f)
for pop_dict in pop_data:if pop_dict['Year'] == '2010':country = pop_dict['Country Name']#人口数换为浮点型,再转换为int型统一格式,供pygal绘图使用,需特别注意,否则会报错population = int(float(pop_dict['Value']))code = get_country_code(country)if code:cc_populations[code] = population
cc_pops_1,cc_pops_2,cc_pops_3 = {},{},{}
for cc,pop in cc_populations.items():if pop < 10000000:cc_pops_1[cc] = popelif pop < 1000000000:cc_pops_2[cc] = popelse:cc_pops_3[cc] = popwm = pygal.maps.world.World()
wm.title = "World Population in 2010,by Country"
wm.add('0-10m',cc_pops_1)
wm.add('10m-1bn',cc_pops_2)
wm.add('>1bn',cc_pops_3)
wm.render_to_file('world_population.svg')

结果(world_population.svg文件):

#17---使用API
import requests
import pygal
from pygal.style import LightColorizedStyle as LCS, LightenStyle as LS
# 执行API调用并存储响应
url = 'https://api.github.com/search/repositories?q=language:python&sort=stars'
r = requests.get(url)
print("Status code:",r.status_code)
# 将API响应存储在一个变量中
response_dict = r.json()
print("Total repositories:", response_dict['total_count'])
# 探索有关仓库的信息
repo_dicts = response_dict['items']
print("Number of items:", len(repo_dicts))
names,plot_dicts = [],[]
for repo_dict in repo_dicts:names.append(repo_dict['name'])plot_dict = {'value': repo_dict['stargazers_count'],'label': repo_dict['description'],'xlink': repo_dict['html_url'],}plot_dicts.append(plot_dict)
#可视化
my_style = LS('#333366',base_style=LCS)
chart = pygal.Bar(style=my_style,x_label_rotation=45)
chart.title = 'Most-Starred Python Projects on GitHub'
chart.x_labels = names
chart.add('',plot_dicts)
chart.render_to_file('python_repos.svg')

17结果:

Chapter16/17-项目2:数据可视化相关推荐

  1. springboot毕设项目基于数据可视化的云山川景点日推交流平台gox2x(java+VUE+Mybatis+Maven+Mysql)

    springboot毕设项目基于数据可视化的云山川景点日推交流平台gox2x(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + ...

  2. python 可视化项目_python3项目之数据可视化

    数据可视化指的是通过可视化表示来探索数据,它与数据挖掘紧密相关,而数据挖掘指的是使用代码来探索数据集的规律和关联. 数据科学家使用Python编写了一系列令人印象深刻的可视化和分析工具,其中很多也可供 ...

  3. ajax将数据显示在class为content的标签中_[原创]数据可视化实战项目

    数据可视化实战项目 NLP 数据可视化 request BeautifulSoup #爬虫所需import requestsfrom bs4 import BeautifulSoup# Nlp可视化所 ...

  4. 【码云周刊第 68 期】数据可视化:商业智能的未来!

    为什么80%的码农都做不了架构师?>>>    码云项目推荐 随着我们进入大数据时代的步伐越来越快,海量数据深度分析的重要性与日俱增,许多应用程序积累了大量消费者的行为数据,急需将这 ...

  5. 交互设计、信息图、信息可视化、数据可视化技术资源汇总——设计师的领域,设计师说了算

    本文整理了设计师常逛的网站,这些资料信息网站包括交互设计.信息图.信息可视化,在线制图.数据可视化,本文大致的内容包括: <灵感--可以参看如下网站来寻找灵感网站汇总>. <信息图工 ...

  6. 蚂蚁金服新一代数据可视化引擎 G2

    新公司已经呆了一个多月,目前着手一个数据可视化的项目,数据可视化肯定要用到图形库如D3.Highcharts.ECharts.Chart等,经决定我的这个项目用阿里旗下蚂蚁金服所开发的G2图表库. 官 ...

  7. ECharts实现中国地图数据可视化

    项目中数据可视化已经太常见了,echarts是一款使用率非常高的插件工具,很多大平台都是使用echarts:一般都有折线图.柱形图.饼形图,还有常见的地图,今天就地图来说一下--中国地图. 1.首先官 ...

  8. 想做数据可视化设计,那你必须要知道这几件事

    "混乱和混乱不是数据的属性-它们是设计的缺点."-爱德华·塔夫特 数据可视化故名思议:以某种示意图的形式来表现经过分析处理后的数据信息. 换句话说,这是一种视觉上传达一定数据内容信 ...

  9. 【基础练习】无情的HBase数据可视化

    项目描述:springboot项目,数据可视化,实现的功能是从集群当中获取Hbase Table 的名字,然后你可以选择获取所有数据还是条件查找,使用获得的数据封装到List<Map>当中 ...

  10. 【入门】React 17 + Vite + ECharts 实现疫情数据可视化「02 快速搭建项目」

    往期文章目录: [入门]React 17 + Vite + ECharts 实现疫情数据可视化「01 项目介绍篇」 文章目录 快速搭建项目 介绍 Vite Vite 特点 搭建第一个 Vite 项目 ...

最新文章

  1. MySQL登录时ERROR 1045:Access denied for user ‘root’@’localhost’ (using password: YES)
  2. pybind 播放h264
  3. let 和 var 的区别
  4. VTK:Points之RadiusOutlierRemoval
  5. oracle extract()截取时间值函数
  6. 早上起床时需要的重力
  7. Python-接口开发入门
  8. 解决xib自定义tableFooterView一个神奇的bug
  9. 【C语言】----宏定义,预处理宏
  10. Webots安装,及urdf转webots,通过3d模型获取Proto_indexedFaceset数据,MoveIt机械臂路径规划
  11. 细数2011TurboMail企业邮箱功能新飞跃
  12. 利用python处理pdf文本,帮我省下不少钱
  13. mysql 百亿级数据统计实现_如何实现上亿级数据的精准计数?
  14. finally这样写会吞掉异常?
  15. iPhone与iPad开发实战读书笔记
  16. 第一章:客户端网页编程简介
  17. Stripe 2 (前缀和计数)
  18. AIOps案例: 阿里巴巴的智能监控系统
  19. FontStruct——制作你自己的个性化字体
  20. 谭浩强c程序设计试题汇编第三版 第四章解析

热门文章

  1. 复兴号为什么不能超载?_接下来:什么都没有? 信息超载如何影响我们的大脑。...
  2. Linux ssh 文件 authorized_keys 和 known_hosts
  3. va_buffersharing example
  4. mysql ibatis count_[mysql] mysql-myibatis-整理
  5. AK5357,AK5358,ES7210,ES7243,ES7241数模转换芯片
  6. python实例练习(2)递归:科赫曲线的绘制
  7. 如何采用一套程序代码,实现系统的“千人千面”
  8. Python 标准库之 random 生成伪随机数『详细』
  9. 让人们久等了的TCP BBR v2.0快要出炉了!
  10. Paper reading (三十一):Personalized Nutrition by Prediction of Glycemic Responses(overview)