Grid3Dopts,Axis3DOpts 为 3D 图形需要配置项
class pyecharts.options.Grid3DOpts

  1. class Grid3DOpts(BasicOpts):
  2. def __init__(
  3. self,
  4. width: Numeric = 200,
  5. height: Numeric = 100,
  6. depth: Numeric = 80,
  7. is_rotate: bool = False,
  8. rotate_speed: Numeric = 10,
  9. rotate_sensitivity: Numeric = 1,
  10. ):
  11. self.opts: dict = {
  12. "boxWidth": width,
  13. "boxHeight": height,
  14. "boxDepth": depth,
  15. "viewControl": {
  16. "autoRotate": is_rotate,
  17. "autoRotateSpeed": rotate_speed,
  18. "rotateSensitivity": rotate_sensitivity,
  19. },
  20. }
  1. class Grid3DOpts(
  2. # 三维笛卡尔坐标系组件在三维场景中的宽度
  3. width: Numeric = 200,
  4. # 三维笛卡尔坐标系组件在三维场景中的高度。
  5. height: Numeric = 100,
  6. # 三维笛卡尔坐标系组件在三维场景中的深度。
  7. depth: Numeric = 80,
  8. # 是否开启视角绕物体的自动旋转查看。
  9. is_rotate: bool = False,
  10. # 物体自转的速度。单位为角度 / 秒,默认为10 ,也就是 36 秒转一圈。
  11. rotate_speed: Numeric = 10,
  12. # 旋转操作的灵敏度,值越大越灵敏。支持使用数组分别设置横向和纵向的旋转灵敏度。
  13. # 设置为0后无法旋转。
  14. rotate_sensitivity: Numeric = 1,
  15. )

Axis3DOpts:三维坐标轴配置项

class pyecharts.options.Axis3DOpts

  1. class Axis3DOpts(BasicOpts):
  2. def __init__(
  3. self,
  4. data: Optional[Sequence] = None,
  5. type_: Optional[str] = None,
  6. name: Optional[str] = None,
  7. name_gap: Numeric = 20,
  8. min_: Union[str, Numeric, None] = None,
  9. max_: Union[str, Numeric, None] = None,
  10. splitnum: Optional[Numeric] = None,
  11. interval: Optional[Numeric] = None,
  12. margin: Numeric = 8,
  13. textstyle_opts: Union[TextStyleOpts, dict, None] = None,
  14. ):
  15. self.opts: dict = {
  16. "data": data,
  17. "name": name,
  18. "nameGap": name_gap,
  19. "nameTextStyle": textstyle_opts,
  20. "splitNum": splitnum,
  21. "type": type_,
  22. "min": min_,
  23. "max": max_,
  24. "axisLabel": {"margin": margin, "interval": interval},
  25. }
  1. class Axis3DOpts(
  2. data: Optional[Sequence] = None,
  3. # 坐标轴类型。可选:
  4. # 'value': 数值轴,适用于连续数据。
  5. # 'category': 类目轴,适用于离散的类目数据,为该类型时必须通过 data 设置类目数据。
  6. # 'time': 时间轴,适用于连续的时序数据,与数值轴相比时间轴带有时间的格式化,在刻度计算上也有所不同,
  7. # 例如会根据跨度的范围来决定使用月,星期,日还是小时范围的刻度。
  8. # 'log' 对数轴。适用于对数数据。
  9. type_: Optional[str] = None,
  10. # 坐标轴名称。
  11. name: Optional[str] = None,
  12. # 坐标轴名称与轴线之间的距离,注意是三维空间的距离而非屏幕像素值。
  13. name_gap: Numeric = 20,
  14. # 坐标轴刻度最小值。
  15. # 可以设置成特殊值 'dataMin',此时取数据在该轴上的最小值作为最小刻度。
  16. # 不设置时会自动计算最小值保证坐标轴刻度的均匀分布。
  17. # 在类目轴中,也可以设置为类目的序数(如类目轴 data: ['类A', '类B', '类C'] 中,序数 2 表示 '类C'。
  18. # 也可以设置为负数,如 -3)。
  19. min_: Union[str, Numeric, None] = None,
  20. # 坐标轴刻度最大值。
  21. # 可以设置成特殊值 'dataMax',此时取数据在该轴上的最大值作为最大刻度。
  22. # 不设置时会自动计算最大值保证坐标轴刻度的均匀分布。
  23. # 在类目轴中,也可以设置为类目的序数(如类目轴 data: ['类A', '类B', '类C'] 中,序数 2 表示 '类C'。
  24. # 也可以设置为负数,如 -3)。
  25. max_: Union[str, Numeric, None] = None,
  26. # 坐标轴的分割段数,需要注意的是这个分割段数只是个预估值,最后实际显示的段数会在这个
  27. # 基础上根据分割后坐标轴刻度显示的易读程度作调整。
  28. # 在类目轴中无效。
  29. splitnum: Optional[Numeric] = None,
  30. # 强制设置坐标轴分割间隔。
  31. # 因为 splitNumber 是预估的值,实际根据策略计算出来的刻度可能无法达到想要的效果,
  32. # 这时候可以使用 interval 配合 min、max 强制设定刻度划分,一般不建议使用。
  33. # 无法在类目轴中使用。在时间轴(type: 'time')中需要传时间戳,在对数轴(type: 'log')中需要传指数值。
  34. interval: Optional[Numeric] = None,
  35. margin: Numeric = 8,
  36. textstyle_opts: Union[TextStyleOpts, dict, None] = None,
  37. )

func pyecharts.charts.Chart3D.add
所有 3D 图表均拥有以下方法

  1. def add(
  2. # 系列名称,用于 tooltip 的显示,legend 的图例筛选。
  3. series_name: str,
  4. # 系列数据
  5. data: Sequence,
  6. # 三维柱状图中三维图形的着色效果。
  7. # color:只显示颜色,不受光照等其它因素的影响。
  8. # lambert:通过经典的 lambert 着色表现光照带来的明暗。
  9. # realistic:真实感渲染,配合 light.ambientCubemap 和 postEffect 使用可以让展示的画面效果和质感有质的提升。
  10. # ECharts GL 中使用了基于物理的渲染(PBR) 来表现真实感材质。
  11. shading: Optional[str] = None,
  12. # 图元配置项,参考 `series_options.ItemStyleOpts`
  13. itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None
  14. # 标签配置项,参考 `series_options.LabelOpts`
  15. label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(is_show=False),
  16. # 3D X 坐标轴配置项,参考 `Axis3DOpts`
  17. xaxis3d_opts: Union[opts.Axis3DOpts, dict] = opts.Axis3DOpts(type_="category"),
  18. # 3D Y 坐标轴配置项,参考 `Axis3DOpts`
  19. yaxis3d_opts: Union[opts.Axis3DOpts, dict] = opts.Axis3DOpts(type_="category"),
  20. # 3D Z 坐标轴配置项,参考 `Axis3DOpts`
  21. zaxis3d_opts: Union[opts.Axis3DOpts, dict] = opts.Axis3DOpts(type_="value"),
  22. # 三维笛卡尔坐标系配置项,参考 `Grid3DOpts`
  23. grid3d_opts: Union[opts.Grid3DOpts, dict] = opts.Grid3DOpts(),
  24. )

Bar3D:3D柱状图

class pyecharts.charts.Bar3D(Chart3D)

  1. class Bar3D(
  2. # 初始化配置项,参考 `global_options.InitOpts`
  3. init_opts: opts.InitOpts = opts.InitOpts()
  4. )


Line3D:3D折线图

class pyecharts.charts.Line3D(Chart3D)

  1. class Line3D(
  2. # 初始化配置项,参考 `global_options.InitOpts`
  3. init_opts: opts.InitOpts = opts.InitOpts()
  4. )

Scatter3D:3D散点图

class pyecharts.charts.Scatter3D(Chart3D)

  1. class Scatter3D(
  2. # 初始化配置项,参考 `global_options.InitOpts`
  3. init_opts: opts.InitOpts = opts.InitOpts()
  4. )


Surface3D:3D曲面图

class pyecharts.charts.Surface3D(Chart3D)

  1. class Surface3D(
  2. # 初始化配置项,参考 `global_options.InitOpts`
  3. init_opts: opts.InitOpts = opts.InitOpts()
  4. )