天天看点

plotly系列| 使用plotly在地图上绘制散点图和密度图Plotly简介在地图上制作散点图和密度图关注我微信公众号(生物海洋计算机支线),不定时更新作图,数据处理等tip

目录

Plotly简介

在地图上制作散点图和密度图

1 . 在python中使用pip命令安装

2 .导入包

3 .读取文件

4 . 在地图上绘制散点图

5 . 绘制密度图,其属性与绘制散点图相似

关注我,不定时更新作图,数据处理等tip

Plotly简介

Plotly  是一款非常强大好用的数据可视化框架

我们可以从他的官网上找到各种封装好的精美图表

官网地址:

https://plotly.com/python/

例如基础的图表,散点图,折线图等,

plotly系列| 使用plotly在地图上绘制散点图和密度图Plotly简介在地图上制作散点图和密度图关注我微信公众号(生物海洋计算机支线),不定时更新作图,数据处理等tip

箱线图,热图等统计图表,

plotly系列| 使用plotly在地图上绘制散点图和密度图Plotly简介在地图上制作散点图和密度图关注我微信公众号(生物海洋计算机支线),不定时更新作图,数据处理等tip

甚至还有地图中的散点图和密度图等

plotly系列| 使用plotly在地图上绘制散点图和密度图Plotly简介在地图上制作散点图和密度图关注我微信公众号(生物海洋计算机支线),不定时更新作图,数据处理等tip

生物信息领域必备的火山图和曼哈顿图等

plotly系列| 使用plotly在地图上绘制散点图和密度图Plotly简介在地图上制作散点图和密度图关注我微信公众号(生物海洋计算机支线),不定时更新作图,数据处理等tip

作为plotly系列的第一篇,我们先来实现如何在地图上制作散点图和密度图

在地图上制作散点图和密度图

1 . 在python中使用pip命令安装

pip install plotly
pip install pandas
pip install numpy
           

2 .导入包

import pandas as pd
import numpy as np
import plotly.graph_objects as go   #plotly地图类的库  graph_objects
           

3 .读取文件

# 读取数据
data = pd.read_excel("E:/odv.xlsx"     
                     ,index_col=0  #使用第一列数据作为索引
                    )
data = data.head(10)
           

文件格式如下:

plotly系列| 使用plotly在地图上绘制散点图和密度图Plotly简介在地图上制作散点图和密度图关注我微信公众号(生物海洋计算机支线),不定时更新作图,数据处理等tip

4 . 在地图上绘制散点图

# 在地图上画散点图
scatter = go.Scattermapbox(lat=data['Latitude']       #设置纬度
                           ,lon=data['Longitude']      #设置经度                         
                          )                           #使用Scattermapbox函数画散点图
fig = go.Figure(scatter)       #将散点图导入画布
fig.update_layout(mapbox_style='stamen-terrain')      #将地图设置为画布
#可以使用的免费地图:"open-street-map", "carto-positron", "carto-darkmatter", "stamen-terrain", "stamen-toner" or "stamen-watercolor"

fig.show()
           
plotly系列| 使用plotly在地图上绘制散点图和密度图Plotly简介在地图上制作散点图和密度图关注我微信公众号(生物海洋计算机支线),不定时更新作图,数据处理等tip

鼠标悬停在散点上会显示出经纬度

5 . 绘制密度图,其属性与绘制散点图相似

Plotly_express 则是对 Plotly 的高级封装,上手容易,

它对 Plotly 的常用绘图函数进行了封装。

#在地图上绘制密度图
import plotly.expess as px 

fig = px.density_mapbox(data
                        , lat='Latitude [degrees North]' #设置纬度
                        , lon='Longitude [degrees East]' #设置经度
                        , z='Temperature [℃]' #设置密度
                        , radius=60
                        , center=dict(lat=40, lon=118) #设置地图的中心点
                        , zoom=2 #设置地图的缩放等级0-20
                        , mapbox_style="stamen-terrain"
                        , color_continuous_scale='inferno'
                        ) #使用density_mapbox函数绘制密度图

fig.show()
           
plotly系列| 使用plotly在地图上绘制散点图和密度图Plotly简介在地图上制作散点图和密度图关注我微信公众号(生物海洋计算机支线),不定时更新作图,数据处理等tip

鼠标悬停在散点上会显示出经纬度

关注我微信公众号(生物海洋计算机支线),不定时更新作图,数据处理等tip

plotly系列| 使用plotly在地图上绘制散点图和密度图Plotly简介在地图上制作散点图和密度图关注我微信公众号(生物海洋计算机支线),不定时更新作图,数据处理等tip