去国外做非法网站,网站制作公司dedecms,网站的反链怎么做,wordpress同步发布欢迎大家订阅【Python从入门到精通】专栏#xff0c;一起探索Python的无限可能#xff01; 文章目录 前言一、基础绘图二、视觉映射三、案例分析 前言
随着地理信息系统#xff08;GIS#xff09;技术的迅猛发展和大数据时代的到来#xff0c;数据可视化已经成为分析和理… 欢迎大家订阅【Python从入门到精通】专栏一起探索Python的无限可能 文章目录 前言一、基础绘图二、视觉映射三、案例分析 前言
随着地理信息系统GIS技术的迅猛发展和大数据时代的到来数据可视化已经成为分析和理解数据的重要手段。而在众多的数据可视化形式中地图以其独特的空间表现力结合了数据与地理信息。本章结合案例分析详细讲解了地图的基础绘图以及视觉映射方面的内容。 本篇文章参考黑马程序员
一、基础绘图
①基本流程 导入必要的模块:创建地图对象准备数据设置全局选项渲染或生成图像 ②常见方法
方法作用示例add() 添加地图数据map.add(系列名称, data, maptype中国)set_global_opts()设置全局配置如标题、视觉映射等map.set_global_opts(title_optsopts.TitleOpts(title地图标题))set_series_opts()设置系列特定配置如标签、样式等map.set_series_opts(label_optsopts.LabelOpts(showTrue))render()渲染地图并保存为 HTML 文件map.render(map.html)set_colors()自定义颜色渐变map.set_colors([#d48265, #91c7ae])add_geo_json()使用 GeoJSON 数据支持自定义地图形状map.add_geo_json(地图名称, geo_json_data)set_tooltip()自定义 tooltip 的显示方式map.set_global_opts(tooltip_optsopts.TooltipOpts(formatter{b}: {c}))visualmap()添加视觉映射组件用于设置数据范围的颜色map.add(系列名称, data, is_map_symbolTrue)set_series_opts()设置地图系列的样式如区域高亮等map.set_series_opts(itemstyle_opts{areaColor: #ccc})set_js_resources()设置依赖的 JavaScript 资源如地图文件map.set_js_resources([{src: 地图文件的 URL}])
from pyecharts.charts import Map
# 准备地图对象
mapMap()
# 准备数据
data[(北京市,99),(上海市,199),(湖南省,299),(广东省,499),
]
# 添加数据
map.add(疫情地图,data,china)
# 绘图
map.render()打开render.html文件点击右上角的浏览器图标可以在浏览器中查看创建的地图。
二、视觉映射
设置 Pyecharts 地图的全局选项中的视觉映射visualmap配置可根据数据的不同区间将不同的颜色应用于地图上的不同区域使得用户在查看地图时能够更加直观地理解数据的含义和分布特点。 常用方法
属性描述is_show控制视觉映射组件是否显示。is_piecewise是否使用分段视觉映射True 或 Falsepieces定义视觉映射的具体区间及其对应的属性每个元素为一个字典min_指定数据的最小值用于定义数据范围max_指定数据的最大值用于定义数据orient控制视觉映射组件的方向horizontal 或 verticaltext设定视觉映射中显示的文本内容通常是颜色条的标签in_range设置数据值范围内的颜色可以是颜色列表out_of_range设置超出数据值范围的区域的颜色
from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts
# 准备地图对象
mapMap()
# 准备数据
data[(北京市,99),(上海市,199),(湖南省,299),(广东省,499),
]
# 添加数据
map.add(疫情地图,data,china)
# 设置全局选项
map.set_global_opts(# 根据不同的数据值范围在地图上应用不同的颜色以便清晰地可视化数据的聚集程度或分布情况# 视觉映射的方法使得用户在查看地图时能够更加直观地理解数据的含义和分布特点visualmap_optsVisualMapOpts(# 设置视觉映射组件为可见is_showTrue,# 使用分段视觉映射is_piecewiseTrue,# 用于定义具体的分段pieces[{min:1,max:9,label:1-9,color:#CCFFFF},{min:10,max:99,label:10-99,color:#FF6666},{min:100,max:500,label:100-500,color:#990033}])
)打开render.html文件点击右上角的浏览器图标可以在浏览器中查看创建的地图。
三、案例分析
【案例一国内疫情地图绘制】 疫情.txt文本文件存储了2021年08月18日中国各省份疫情相关数据请根据该数据绘制各省份疫情确诊人数地图。 由于该JSON格式的数据量大且嵌套层次深我们可以利用格式化工具将该数据格式化便于我们去理解数据的层次和关系。相关知识点请见深入理解JSON这篇文章 格式化数据后
# 导包
import json
from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts,TitleOpts# 读取数据
fopen(D:/疫情.txt,r,encodingUTF-8)
dataf.read()
# 关闭文件
f.close()
# 取到各个省份的数据
# 将字符串转换为python字典
data_dictjson.loads(data)
# 从字典中取出省份数据
province_data_listdata_dict[areaTree][0][children]
# 绘图需要用到的数据列表
data_list[]
# 组装每个省份和确诊人数为元组
for province_data in province_data_list:# Pyecharts 的中国地图根据特定的标准名称来识别省份# 省的名称通常以“省”结尾,如果不包含这个后缀Pyecharts 将无法在地图上找到对应的省份进行渲染province_nameprovince_data[name]省 # 得到省份名称province_confirmprovince_data[total][confirm] # 得到确诊人数# 将各个省份的数据都封装入列表内data_list.append((province_name,province_confirm))
# 创建地图对象
mapMap()
# 添加数据
map.add(2021年08月18日中国各省份疫情确诊人数,data_list,china)
# 设置全部配置定制分段的视觉映射
map.set_global_opts(title_optsTitleOpts(title全国疫情地图),visualmap_optsVisualMapOpts(is_showTrue, # 是否显示is_piecewiseTrue, # 是否分段pieces[{min: 1, max: 99, label: 1-99, color: #CCFFFF},{min: 100, max: 999, label: 100-999, color: #FFFF99},{min: 1000, max: 4999, label: 1000-4999, color: #FF9966},{min: 5000, max:9999, label: 5000-9999, color: #FF6666},{min: 10000, max: 99999, label: 10000-99999, color: #CC3333},{min: 100000, label: 100000, color: #990033}])
)
# 绘图
map.render()打开render.html文件点击右上角的浏览器图标可以在浏览器中查看创建的地图。 【案例二省级疫情地图绘制】 疫情.txt文本文件存储了2021年08月18日中国各省份疫情相关数据请根据该数据绘制河南省疫情确诊人数地图。 由于该JSON格式的数据量大且嵌套层次深我们可以利用格式化工具将该数据格式化便于我们去理解数据的层次和关系。相关知识点请见深入理解JSON这篇文章 格式化数据后 # 导包
import json
from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts,TitleOpts# 读取数据
fopen(D:/疫情.txt,r,encodingUTF-8)
dataf.read()
# 关闭文件
f.close()
# 取到河南省的数据
# 将json数据转换为python字典
data_dictjson.loads(data)
# 从字典中取出河南省的数据
cities_datadata_dict[areaTree][0][children][3][children]
# 绘图需要用到的数据列表
data_list[]
# 准备数据为元组并放入list
for city_data in cities_data:# Pyecharts 的中国地图根据特定的标准名称来识别市# 市的名称通常以“市”结尾,如果不包含这个后缀Pyecharts 将无法在地图上找到对应的市进行渲染city_namecity_data[name]市 # 得到市的名称city_confirmcity_data[total][confirm] # 得到确诊人数# 将河南省各个市的数据都封装入列表内data_list.append((city_name,city_confirm))# 创建地图对象
mapMap()
# 添加数据
map.add(2021年08月18日河南省疫情确诊人数分布,data_list,河南)
# 设置全部配置定制分段的视觉映射
map.set_global_opts(title_optsTitleOpts(title河南疫情地图),visualmap_optsVisualMapOpts(is_showTrue, # 是否显示is_piecewiseTrue, # 是否分段pieces[{min: 1, max: 99, label: 1-99, color: #CCFFFF},{min: 100, max: 999, label: 100-999, color: #FFFF99},{min: 1000, max: 4999, label: 1000-4999, color: #FF9966},{min: 5000, max:9999, label: 5000-9999, color: #FF6666},{min: 10000, max: 99999, label: 10000-99999, color: #CC3333},{min: 100000, label: 100000, color: #990033}])
)
# 绘图
map.render()打开render.html文件点击右上角的浏览器图标可以在浏览器中查看创建的地图。