目录
3D Scatter(3D散点图):基于plotly_express
大家好,我是王某人
本文中重点介绍的是如何利用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,