直角坐标系图表继承自 RectChart :
class RectChart(Chart):
def __init__(self, init_opts: types.Init = opts.InitOpts()):
super().__init__(init_opts=init_opts)
self.options.update(xAxis=[opts.AxisOpts().opts], yAxis=[opts.AxisOpts().opts])
def extend_axis(
self,
xaxis_data: Sequence = None,
xaxis: types.Axis = None,
yaxis: types.Axis = None,
):
if xaxis is not None:
if isinstance(xaxis, opts.AxisOpts):
xaxis = xaxis.opts
xaxis.update(data=xaxis_data)
self.options["xAxis"].append(xaxis)
if yaxis is not None:
if isinstance(yaxis, opts.AxisOpts):
yaxis = yaxis.opts
self.options["yAxis"].append(yaxis)
return self
def add_xaxis(self, xaxis_data: Sequence):
self.options["xAxis"][0].update(data=xaxis_data)
self._xaxis_data = xaxis_data
return self
def reversal_axis(self):
self.options["yAxis"][0]["data"] = self._xaxis_data
self.options["xAxis"][0]["data"] = None
return self
def overlap(self, chart: Base):
self.options.get("legend")[0].get("data").extend(
chart.options.get("legend")[0].get("data")
)
self.options.get("series").extend(chart.options.get("series"))
return self
都拥有以下方法,下面分别对其方法进行解析:
func RectChart.extend_axis 扩展 X/Y 轴
def extend_axis(
# 扩展 X 坐标轴数据项
xaxis_data: Sequence = None,
# 扩展 X 坐标轴配置项,参考 `global_options.AxisOpts`
xaxis: Union[opts.AxisOpts, dict, None] = None,
# 新增 Y 坐标轴配置项,参考 `global_options.AxisOpts`
yaxis: Union[opts.AxisOpts, dict, None] = None,
)
func RectChart.add_xaxis 新增 X 轴数据
def add_xaxis(
# X 轴数据项
xaxis_data: Sequence
)
func RectChart.reversal_axis 翻转 XY 轴数据
def reversal_axis():
func RectChart.overlap 层叠多图
def overlap(
# chart 为直角坐标系类型图表
chart: Base
)
func Chart.add_dataset 添加 dataset 组件
def add_dataset(
# 原始数据。一般来说,原始数据表达的是二维表。
source: types.Union[types.Sequence, types.JSFunc] = None,
# 使用 dimensions 定义 series.data 或者 dataset.source 的每个维度的信息。
dimensions: types.Optional[types.Sequence] = None,
# dataset.source 第一行/列是否是 维度名 信息。可选值:
# null/undefine(对应 Python 的 None 值):默认,自动探测。
# true:第一行/列是维度名信息。
# false:第一行/列直接开始是数据。
source_header: types.Optional[bool] = None,
)