Python真好玩 | 开挂的3D图:密集恐惧症者的我看不下去啦~

本文详细介绍了如何使用Plotly库在Python中创建各种3D图形,包括3D散点图、3D平面图、3D气泡图和3D等值曲面图。通过实例展示了数据的可视化过程,并提供了代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

先睹为快

导入库、数据

3D Scatter(3D散点图):基于plotly_express

基本3D图形

3D Scatter:基于go.Scatter3dME

基础3D图形

3D平面图:go.Surface实现

基于地形的3D平面图

带有轮廓线的3D图形

多个3D图形

6 3D气泡图:3D Bubble

6.1 基于Plotly_Express实现

6.2 基于go.Scatter3d实现

7 3D等值曲面图(Isosurface)

7.1 基础3D等值

7.2 改变等值曲面的个数

改变颜色和透明度

高级等值曲面图


大家好,我是王某人

本文中重点介绍的是如何利用plotly来绘制3D图形。

在3D图形中一般是包含3个轴的:x、y、z。在Plotly中绘图的时候,我们对layout布局进行设置的时候,通常是对一个叫做scene的参数进行设置,在这个参数就是包含x、y、z3个不同轴的设置,比如轴的范围、名称、颜色等。同时还会介绍不同类型的3D图形,比如:3D散点图、3D平面图等

 

先睹为快

首先我们看看几个由Plotly实现的3D图形,你相信它们其实是同一个吗

 

导入库、数据

本文中的很多图形都是基于鸢尾花数据集来绘制的,所以我们先导入库和数据集:

import pandas as pd
import numpy as np

import plotly.express as px
import plotly.graph_objects as go

3D Scatter(3D散点图):基于plotly_express

基本3D图形

最简单的3D图形,通过使用px.scatter_3d来绘制:

fig = px.scatter_3d(
  iris,
  x="sepal_length",
  y="sepal_width",
  z="petal_width",
  color="species"
)

fig.show()

 

设置散点不同的形状和大小;

# 还可以给每个散点加上不同的markder标记

fig = px.scatter_3d(
  iris,
  x="sepal_length",
  y="sepal_width",
  z="petal_length",
  color="petal_width",
  symbol="species"
)

fig.show()

 

# 设置散点大小

fig = px.scatter_3d(
  iris,
  x="sepal_length",
  y="sepal_width",
  z="petal_width",
  color="petal_length",
  size="petal_length",
  size_max=18,  # 散点最大值
  opacity=0.7,  # 透明度
  symbol="species"
)
fig.update_layout(margin=dict(l=0,r=0,b=0,t=0))

fig.show()

3D Scatter:基于go.Scatter3dME

基础3D图形

import plotly.graph_objects as go
import numpy as np

# 模拟数据
t = np.linspace(0, 10, 50)
x, y, z = np.cos(t), np.sin(t), t

fig = go.Figure(data=[go.Scatter3d(
    x=x,  # 设置3个不同的坐标数据
    y=y, 
    z=z,
    mode='markers')])  # 'lines', 'markers', 'text'  3种情况的组合

fig.show()

改变散点的颜色:

import plotly.graph_objects as go
import numpy as np

N = 88
t = np.linspace(0, 20, N)
x, y,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值