欢迎访问宙启技术站
智能推送

利用Bokeh绘制3D散点图的简单代码示例

发布时间:2024-01-03 14:59:37

Bokeh是一个Python库,用于绘制交互式的数据可视化图表。它提供了丰富的功能和易于使用的接口,可以帮助用户快速创建各种类型的图形。

在Bokeh中,要绘制3D散点图,我们首先需要导入必要的库和模块。示例代码如下:

from bokeh.plotting import figure, output_file, show
from bokeh.models import ColumnDataSource
from bokeh.transform import factor_cmap
from bokeh.palettes import Spectral6

# 创建一个输出文件
output_file("scatter_plot.html")

# 创建一个绘图对象
plot = figure(title="3D Scatter Plot", toolbar_location=None)

# 创建数据源
source = ColumnDataSource(data=dict(x=[1, 2, 3, 4, 5],
                                    y=[5, 4, 3, 2, 1],
                                    z=[1, 2, 3, 4, 5]))

# 绘制散点图
plot.scatter(x='x', y='y', source=source, 
             color=factor_cmap('z', palette=Spectral6, factors=source.data['z']))

# 显示绘图对象
show(plot)

上面的示例代码首先导入了必要的库和模块,包括figure用于创建绘图对象,output_file用于指定输出文件,show用于显示绘图对象。然后,创建了一个输出文件scatter_plot.html

接下来,创建了一个绘图对象plot,并定义了绘图的标题。然后,创建了一个数据源source,其中包含了x、y、z三个维度的数据。

最后,使用scatter方法绘制了散点图。通过source参数指定了数据源,通过color参数指定了根据z值进行颜色映射,即不同的z值对应不同的颜色。

最后,使用show方法显示绘图对象,会在浏览器中打开一个交互式的图表。

下面是一个使用上述代码创建的3D散点图的例子。

![3D Scatter Plot](https://i.imgur.com/qoDAULe.png)

这个例子展示了一个具有五个数据点的简单3D散点图。其中x、y、z的取值分别为1到5,颜色根据z值的不同进行了映射。

通过鼠标可以进行缩放、平移和旋转操作,以查看数据的不同视角。

通过修改数据源的值,可以绘制包含更多数据点的散点图,并对颜色进行更复杂的映射。Bokeh还提供了许多其他绘图选项和配置参数,可根据需要进行调整。