目录
  • 前言
  • 地球仪加线
  • 地图上加线
  • 最后的福利-3d图鉴赏
  • 总结

前言

在之前的一篇文章python可视化神器-plotly动画展示展现了可视化神器-plotly的动画的基本应用,本文介绍如何在python中使用 plotly 创建地图并在地图上标相应的线。

地球仪加线

根据地球仪的区域显示在相应的位置图形上加上线条,完美的线性地球仪详细代码如下:

`import plotly.express as px
df = px.data.gapminder.query("year == 2007")
fig = px.line_geo(df, locations="iso_alpha",
color="continent", 
# "continent" is one of the columns of gapminder
projection="orthographic")
fig.show` 

显示结果为:**

地图上加线

绘画出相应的地图后添加经纬度,再根据经纬度绘画出相应的线条,详细代码如下:

import

plotly.graph_objects

as

go

fig = go.figure(data=go.scattergeo(
lat = [3.86, 53.55],
lon = [73.66, 135.05],
mode = 'lines',
line = dict(width = 2, color = 'red'),
))

fig.update_layout(
geo = dict(
resolution = 50,
showland = true,
showlakes = true,
landcolor = 'rgb(203, 203, 203)',
countrycolor = 'rgb(204, 204, 204)',
lakecolor = 'rgb(255, 255, 255)',
projection_type = "equirectangular",
coastlinewidth = 3,
lataxis = dict(
range = [20, 60],
showgrid = true,
dtick = 10
),
lonaxis = dict(
range = [-100, 20],
showgrid = true,
dtick = 20
),
)
)

`fig.show`

显示结果如下:

最后的福利-3d图鉴赏

最后加入一个3d图像鉴赏,制作图像详细代码如下:

# 导入包import

plotly.graph_objects

as

go

from

plotly.subplots

import

make_subplots

import

numpy

as

np

n = 50

fig = make_subplots(rows=2, cols=2,
specs=[[{'is_3d': true}, {'is_3d': true}],
[{'is_3d': true}, {'is_3d': true}]],
print_grid=false)
for i in [1,2]:
for j in [1,2]:
fig.append_trace(
go.mesh3d(
x=(50*np.random.randn(n)),
y=(20*np.random.randn(n)),
z=(40*np.random.randn(n)),
opacity=0.5,
),
row=i, col=j)

`fig.update_layout(width=700, margin=dict(r=9, l=9, b=9, t=9))
# 将左上角子图中的比率固定为立方体
fig.update_layout(scene_aspectmode='cube')
# 手动强制z轴显示为其他两个的两倍大
fig.update_layout(scene2_aspectmode='manual',
scene2_aspectratio=dict(x=1, y=1, z=2))
# 绘制轴线与轴线范围的比例成比例
fig.update_layout(scene3_aspectmode='data')
# 使用“data”作为默认值自动生成比例良好的内容
fig.update_layout(scene4_aspectmode='auto')
#显示
fig.show` 

显示结果如下:

总结

到此这篇关于利用python画花样图的文章就介绍到这了,更多相关python画花样图内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!