📜  在Python中使用 Plotly 的 3D 气泡图

📅  最后修改于: 2022-05-13 01:55:44.270000             🧑  作者: Mango

在Python中使用 Plotly 的 3D 气泡图

Plotly是一个Python库,用于设计图形,尤其是交互式图形。它可以绘制各种图形和图表,如直方图、条形图、箱线图、散布图等等。它主要用于数据分析和财务分析。 plotly 是一个交互式可视化库。

Plotly 中的 3D 气泡图

可以使用 plotly.express 类的 scatter_3d() 方法创建气泡图。气泡图是一种数据可视化,有助于在 3d 维度图中显示多个圆圈(气泡),就像在 3d 散点图中一样。气泡图主要用于描述和显示数值变量之间的关系。

示例 1:使用 Iris 数据集

Python3
import plotly.express as px
  
  
df = px.data.iris()
fig = px.scatter_3d(df, x='sepal_width',
                    y='sepal_length', 
                    z='petal_width',
                    size='petal_length', 
                    color='species')
  
fig.show()


Python3
import plotly.express as px
  
  
df = px.data.tips()
fig = px.scatter_3d(df, x='total_bill',
                    y='day', z='time',
                    size='tip', color='sex')
  
fig.show()


Python3
import plotly.express as px
import plotly.graph_objects as go
  
  
df = px.data.tips()
  
fig = go.Figure(go.Scatter3d(
    x = df['total_bill'],
    y = df['time'],
    z = df['day'],
    mode = 'markers',
    marker = dict(
        color = df['tip'],
        size = df['total_bill'],
        colorscale=[[0, 'rgb(15, 10, 172)'], 
                    [.3, 'rgb(150, 255, 255)'], 
                    [1, 'rgb(100, 10, 100)']]
        )
))
  
fig.show()


输出:

示例 2:使用提示数据集

Python3

import plotly.express as px
  
  
df = px.data.tips()
fig = px.scatter_3d(df, x='total_bill',
                    y='day', z='time',
                    size='tip', color='sex')
  
fig.show()

输出:

自定义颜色栏

可以使用 graph_objects 类的 Scatter3D() 方法的颜色选项对其进行编辑。让我们看一下下面的示例,以更好地理解该主题。

例子:

Python3

import plotly.express as px
import plotly.graph_objects as go
  
  
df = px.data.tips()
  
fig = go.Figure(go.Scatter3d(
    x = df['total_bill'],
    y = df['time'],
    z = df['day'],
    mode = 'markers',
    marker = dict(
        color = df['tip'],
        size = df['total_bill'],
        colorscale=[[0, 'rgb(15, 10, 172)'], 
                    [.3, 'rgb(150, 255, 255)'], 
                    [1, 'rgb(100, 10, 100)']]
        )
))
  
fig.show()

输出: