Python Plotly绘制地球仪线条与3D可视化详解
本文介绍如何使用Python的Plotly库绘制交互式地球仪。通过gapminder数据展示全球航线,利用Scattergeo添加特定经纬度连线,并演示如何构建包含多个子图的3D网格模型。涵盖基础地图绘制、线条标注及复杂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图像鉴赏环节,展示如何制作复杂的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绘图相关内容,欢迎搜索本站历史文章或继续浏览后续教程。感谢大家的支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









