Plotly教程

plotly 散点图和气泡图

本章重点介绍散点图、散点图和气泡图的详细信息。首先,让我们研究散点图。

散点图

散点图用于在水平轴和垂直轴上 绘制数据点,以显示一个变量如何影响另一个变量。数据表中的每一行都由一个标记表示,其位置取决于在 XY 轴上设置的列中的值。
graph_objs 模块 (go.Scatter)scatter() 方法产生一个散射轨迹。在这里, mode 属性决定了数据点的外观。 mode 的默认值是 lines,它显示连接数据点的连续线。如果设置为 markers,则仅显示由实心小圆圈表示的数据点。当模式指定为"线条+标记"时,圆形和线条都会显示。
在以下示例中,绘制了笛卡尔坐标系中三组随机生成的点的散点轨迹。下面解释了以不同模式属性显示的每个轨迹。
import numpy as np
N = 100
x_vals = np.linspace(0, 1, N)
y1 = np.random.randn(N) + 5
y2 = np.random.randn(N)
y3 = np.random.randn(N)-5
trace0 = go.Scatter(
   x = x_vals,
   y = y1,
   mode = 'markers',
   name = 'markers'
)
trace1 = go.Scatter(
   x = x_vals,
   y = y2,
   mode = 'lines+markers',
   name = 'line+markers'
)
trace2 = go.Scatter(
   x = x_vals,
   y = y3,
   mode = 'lines',
   name = 'line'
)
data = [trace0, trace1, trace2]
fig = go.Figure(data = data)
iplot(fig)
Jupyter notebook cell 的输出如下-
Jupyter Notebook Cell

散点图

WebGL(Web 图形库)是一种 JavaScript API,用于在任何兼容的 Web 浏览器中呈现交互式 2D3D 图形,而无需使用插件。 WebGL 与其他网络标准完全集成,允许图形处理单元 (GPU) 加速使用图像处理。
Plotly 您可以使用 Scattergl() 代替 Scatter() 来实现 WebGL,以提高速度、改进交互性以及绘制更多数据的能力。 go.scattergl() 函数可在涉及大量数据点时提供更好的性能。
import numpy as np
N = 100000
x = np.random.randn(N)
y = np.random.randn(N)
   trace0 = go.Scattergl(
   x = x, y = y, mode = 'markers'
)
data = [trace0]
layout = go.Layout(title = "scattergl plot ")
fig = go.Figure(data = data, layout = layout)
iplot(fig)
输出如下-
Scattergl Plot

气泡图

气泡图显示数据的三个维度。每个实体及其关联数据的三个维度被绘制为一个 磁盘(气泡),它通过磁盘的 xy 位置表示两个维度,第三个维度通过其大小表示。气泡的大小由第三个数据系列中的值决定。
气泡图 是散点图的一种变体,其中数据点被替换为气泡。如果您的数据具有如下所示的三个维度,那么创建气泡图将是一个不错的选择。
公司 产品 销售 分享
A 13 2354 23
B 6 5423 47
C 23 2451 30
气泡图是使用 go.Scatter() 跟踪生成的。上述数据系列中的两个作为 x 和 y 属性给出。第三维由标记显示,其大小代表第三个数据系列。在上述案例中,我们使用 productssale 作为 xy 属性和 市场份额 作为 标记大小
在 Jupyter notebook 中输入以下代码。
company = ['A','B','C']
products = [13,6,23]
sale = [2354,5423,4251]
share = [23,47,30]
fig = go.Figure(data = [go.Scatter(
   x = products, y = sale,
   text = [
      'company:'+c+' share:'+str(s)+'%' 
      for c in company for s in share if company.index(c)==share.index(s)
   ],
   mode = 'markers',
   marker_size = share, marker_color = ['blue','red','yellow'])
])
iplot(fig)
输出如下所示-
气泡图
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4