热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PythonGeo根据经纬度和指标值画图:python标准差图表

本文主要介绍关于python的知识点,对【PythonGeo根据经纬度和指标值画图】和【python标准差图表】有兴趣的朋友可以看下由【无内存靠心算】投稿的技术文章,希望该技术和经验能帮到你解决你

本文主要介绍关于python的知识点,对【Python Geo 根据经纬度和指标值画图】和【python标准差图表】有兴趣的朋友可以看下由【无内存靠心算】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的相关技术问题。

python标准差图表

 记录一下一天的辛酸画图历程       

1、Folium 热力图

        一开始是别人要求根据经纬度和ratio这个指标画一个热图,我就直接拿folium画了一个,还挺好看的,不过放大来看就发现,这些区域的颜色深浅一部分是根据数据密度,一部分是根据ratio的大小,而ratio的差距也不是很大,所以颜色深浅的主要因素就是各个区域点的密度,这就和要求不符,所以开始查资料。最终发现要在图上只想体现ratio值大小的话,只能根据经纬度画散点图,然后再根据值的大小上色。这里也放一下folium 的热力图代码。

###根据经纬度画热力图
import folium
import webbrowser
from folium.plugins import HeatMap
#首先保证导入的数据框brother_ratio中有维度和经度以及ratio的数据
LAT_new = brother_ratio['LATNUM']  #纬度
LNG_new = brother_ratio['LONGNUM']  #经度

#拼接成list
data1 = [[brother_ratio['LATNUM'][i],brother_ratio['LONGNUM'][i],
          brother_ratio['ratio'][i]] for i in range(len(brother_ratio))]

#计算中心点,也可以自定义
Center=[np.mean(np.array(LAT_new,dtype='float32')),np.mean(np.array(LNG_new,dtype='float32'))]
#初始化地图
m=folium.Map(location=Center,zoom_start=6)
#热力图
HeatMap(data1,radius = 15).add_to(m)

name='ratio_data.html' #文件名
m.save(name) #保存热力图文件
#将结果文件打开进行显示
webbrowser.open(name,new=2)

 2、Geo 散点图

这里直接上官方文档,已经写得很清晰了:https://gallery.pyecharts.org/#/Geo/geo_base

from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.faker import Faker

c = (
    Geo()
    .add_schema(maptype="china")
    .add("geo", [list(z) for z in zip(Faker.provinces, Faker.values())])
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(
        visualmap_opts=opts.VisualMapOpts(), title_opts=opts.TitleOpts(title="Geo-基本示例")
    )
    .render("geo_base.html")
)


但是这里的 maptype="china",也就是用的是中国地图。如果需要的是其他国家的地图,也可以换成对应国家的名称。这里有个坑,我换瑞士、英国、美国等国家的都没事,但是恰恰我需要的是印度尼西亚的地图,而我把maptype="印度尼西亚",maptype="印尼"都没用。找遍全网也没有解决办法,只能去看官方文档,217 countries and regions,这里就包含了217个国家的地图资源。

别的国家都一个名字,就印尼写两个????而且切记两个名字之间要写英文的逗号加空格 ,也就是 印度尼西亚, 印尼。至此,代码就差不多了,下面贴下完整代码。

from pyecharts.charts import Geo
from pyecharts import options as opts
import pandas as pd

df = pd.read_csv('ratio.csv')
geo_cities_coords={df.iloc[i,0]:[df.iloc[i]['LONGNUM'],df.iloc[i]['LATNUM']] for i in range(len(df))}
attr=list(df.iloc[:,0])
value=list(df['ratio'])
data_pair=[(df.iloc[i,0],df.iloc[i]['ratio']) for i in range(len(df))]

geo = Geo()
geo.add_schema(maptype="印度尼西亚, 印尼")
for key,value in geo_cities_coords.items():
	geo.add_coordinate(key,value[0],value[1])
# geo.add('',data_pair,symbol_size=10,itemstyle_opts=opts.ItemStyleOpts(color="blue"))
geo.add('',data_pair,symbol_size=5)
# 设置样式
# geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False),type='effectScatter')
geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False),type='scatter')

#  is_piecewise 是否自定义分段, 变为true 才能生效
geo.set_global_opts(visualmap_opts=opts.VisualMapOpts(max_ = 1),
					title_opts=opts.TitleOpts(title="ratio"))
geo.render()

这里有个变量要注意,opts.VisualMapOpts(max_ = 1),里面的max_默认值是100,也就是刻度的最大值。但是我的ratio最大是1,如果用默认最大值那所有点的颜色就一样了。

最终得到一个render.html文件,如下图

没有热力图好看,但目前也找不到符合要求的画法了,如果有大佬知道更好的方法请指教。 

参考文献

1、pyecharts绘制地理散点图

2、[pyecharts学习笔记]——全局配置项(VisualMapOpts视觉映射配置项)

3、Python pyecharts.geo绘制美国地图

本文《Python Geo 根据经纬度和指标值画图》版权归无内存靠心算所有,引用Python Geo 根据经纬度和指标值画图需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 基于词向量计算文本相似度1.测试数据:链接:https:pan.baidu.coms1fXJjcujAmAwTfsuTg2CbWA提取码:f4vx2.实验代码:imp ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 开发笔记:(002)spring容器中bean初始化销毁时执行的方法及其3种实现方式
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了(002)spring容器中bean初始化销毁时执行的方法及其3种实现方式相关的知识,希望对你有一定的参考价值。 ... [详细]
  • mysql自动打开文件_让docker中的mysql启动时自动执行sql文件
    本文提要本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动My ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • 动量|收益率_基于MT策略的实战分析
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了基于MT策略的实战分析相关的知识,希望对你有一定的参考价值。基于MT策略的实战分析 ... [详细]
  • 人脸检测 pyqt+opencv+dlib
    一、实验目标绘制PyQT界面,调用摄像头显示人脸信息。在界面中,用户通过点击不同的按键可以实现多种功能:打开和关闭摄像头, ... [详细]
  • 一、概述nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的 ... [详细]
author-avatar
倩女甜言蜜语_182
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有