使用pyecharts绘制3d图形时,各个系列的颜色一样,不知道怎么设置,请各位大神不吝赐教!!

osc_07380127 发布于 2022/09/28 17:06
阅读 308
收藏 0

武汉源创会回归,4月20聊聊大模型”

使用pyecharts绘制3d图形时,各个系列的颜色一样,不知道怎么设置,

python版本是3.10

pyecharts版本是1.9.1

想要绘制三个系列的3D散点图,但是绘制之后所有点的颜色是一样的,不知道怎么设置

加载中
0
Python进阶者
Python进阶者

在使用 pyecharts 绘制 3D 图形时,可以通过 Color3D 类来为不同的系列设置不同的颜色。具体的实现方法如下:

  1. 首先导入所需要的库:

 
pythonCopy code
from pyecharts.charts import Surface3D from pyecharts import options as opts from pyecharts.globals import ThemeType
  1. 定义需要绘制的数据:

 
pythonCopy code
data = [] for t0 in range(-60, 60, 1): for t1 in range(-60, 60, 1): r = (t0 ** 2 + t1 ** 2) ** 0.5 z = 5 * (1 - r / 60) data.append([t0, t1, z])
  1. 定义系列的颜色:

 
pythonCopy code
colors = [ "#313695", "#4575b4", "#74add1", "#abd9e9", "#e0f3f8", "#ffffbf", "#fee090", "#fdae61", "#f46d43", "#d73027", "#a50026", ]
  1. 创建 Surface3D 实例并设置颜色:

 
pythonCopy code
surface = ( Surface3D(init_opts=opts.InitOpts(theme=ThemeType.LIGHT)) .add( "", data, shading="color", color_function=colors, xaxis3d_opts=opts.Axis3DOpts(range_=[-60, 60]), yaxis3d_opts=opts.Axis3DOpts(range_=[-60, 60]), zaxis3d_opts=opts.Axis3DOpts(range_=[-10, 10]), ) .set_global_opts( visualmap_opts=opts.VisualMapOpts( dimension=2, max_=5, min_=-5, range_=[-5, 5], pos_top="middle" ) ) )

在上述代码中,通过 color_function 参数来设置不同系列的颜色,其中 colors 列表为所定义的颜色。可以根据实际需要来调整 colors 列表中的颜色值。

最后,通过 render 方法生成 HTML 文件或在 Jupyter Notebook 中显示图形:


 
pythonCopy code
surface.render("3d_surface.html")
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部