pyecharts 直角坐標(biāo)系圖表

2023-02-17 11:10 更新

直角坐標(biāo)系圖表繼承自 RectChart 都擁有以下方法

func RectChart.extend_axis

擴(kuò)展 X/Y 軸

def extend_axis(
    # 擴(kuò)展 X 坐標(biāo)軸數(shù)據(jù)項(xiàng)
    xaxis_data: Sequence = None,

    # 擴(kuò)展 X 坐標(biāo)軸配置項(xiàng),參考 `global_options.AxisOpts`
    xaxis: Union[opts.AxisOpts, dict, None] = None,

    # 新增 Y 坐標(biāo)軸配置項(xiàng),參考 `global_options.AxisOpts`
    yaxis: Union[opts.AxisOpts, dict, None] = None,
)
func RectChart.add_xaxis

新增 X 軸數(shù)據(jù)

def add_xaxis(
    # X 軸數(shù)據(jù)項(xiàng)
    xaxis_data: Sequence
)
func RectChart.reversal_axis

翻轉(zhuǎn) XY 軸數(shù)據(jù)

def reversal_axis():
func RectChart.overlap

層疊多圖

def overlap(
    # chart 為直角坐標(biāo)系類型圖表
    chart: Base
)
func Chart.add_dataset

添加 dataset 組件

def add_dataset(
    # 原始數(shù)據(jù)。一般來說,原始數(shù)據(jù)表達(dá)的是二維表。
    source: types.Union[types.Sequence, types.JSFunc] = None,

    # 使用 dimensions 定義 series.data 或者 dataset.source 的每個(gè)維度的信息。
    dimensions: types.Optional[types.Sequence] = None,

    # dataset.source 第一行/列是否是 維度名 信息??蛇x值:
    # null/undefine(對應(yīng) Python 的 None 值):默認(rèn),自動(dòng)探測。
    # true:第一行/列是維度名信息。
    # false:第一行/列直接開始是數(shù)據(jù)。
    source_header: types.Optional[bool] = None,
)

Bar:柱狀圖/條形圖

class pyecharts.charts.Bar(RectChart)
class Bar(
    # 初始化配置項(xiàng),參考 `global_options.InitOpts`
    init_opts: opts.InitOpts = opts.InitOpts()
)
func pyecharts.charts.Bar.add_yaxis
def add_yaxis(
    # 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。
    series_name: str,

    # 系列數(shù)據(jù)
    y_axis: Sequence[Numeric, opts.BarItem, dict],

    # 是否選中圖例
    is_selected: bool = True,

    # 使用的 x 軸的 index,在單個(gè)圖表實(shí)例中存在多個(gè) x 軸的時(shí)候有用。
    xaxis_index: Optional[Numeric] = None,

    # 使用的 y 軸的 index,在單個(gè)圖表實(shí)例中存在多個(gè) y 軸的時(shí)候有用。
    yaxis_index: Optional[Numeric] = None,

    # 是否啟用圖例 hover 時(shí)的聯(lián)動(dòng)高亮
    is_legend_hover_link: bool = True,

    # 系列 label 顏色
    color: Optional[str] = None,

    # 是否顯示柱條的背景色。通過 backgroundStyle 配置背景樣式。
    is_show_background: bool = False,

    # 每一個(gè)柱條的背景樣式。需要將 showBackground 設(shè)置為 true 時(shí)才有效。
    background_style: types.Union[types.BarBackground, dict, None] = None,

    # 數(shù)據(jù)堆疊,同個(gè)類目軸上系列配置相同的 stack 值可以堆疊放置。
    stack: Optional[str] = None,

    # 柱條的寬度,不設(shè)時(shí)自適應(yīng)。
    # 可以是絕對值例如 40 或者百分?jǐn)?shù)例如 '60%'。百分?jǐn)?shù)基于自動(dòng)計(jì)算出的每一類目的寬度。
    # 在同一坐標(biāo)系上,此屬性會(huì)被多個(gè) 'bar' 系列共享。此屬性應(yīng)設(shè)置于此坐標(biāo)系中最后一個(gè) 'bar' 系列上才會(huì)生效,并且是對此坐標(biāo)系中所有 'bar' 系列生效。
    bar_width: types.Union[types.Numeric, str] = None,

    # 柱條的最大寬度。比 barWidth 優(yōu)先級高。
    bar_max_width: types.Union[types.Numeric, str] = None,

    # 柱條的最小寬度。在直角坐標(biāo)系中,默認(rèn)值是 1。否則默認(rèn)值是 null。比 barWidth 優(yōu)先級高。
    bar_min_width: types.Union[types.Numeric, str] = None,

    # 柱條最小高度,可用于防止某數(shù)據(jù)項(xiàng)的值過小而影響交互。
    bar_min_height: types.Numeric = 0,

    # 同一系列的柱間距離,默認(rèn)為類目間距的 20%,可設(shè)固定值
    category_gap: Union[Numeric, str] = "20%",

    # 不同系列的柱間距離,為百分比(如 '30%',表示柱子寬度的 30%)。
    # 如果想要兩個(gè)系列的柱子重疊,可以設(shè)置 gap 為 '-100%'。這在用柱子做背景的時(shí)候有用。
    gap: Optional[str] = "30%",

    # 是否開啟大數(shù)據(jù)量優(yōu)化,在數(shù)據(jù)圖形特別多而出現(xiàn)卡頓時(shí)候可以開啟。
    # 開啟后配合 largeThreshold 在數(shù)據(jù)量大于指定閾值的時(shí)候?qū)L制進(jìn)行優(yōu)化。
    # 缺點(diǎn):優(yōu)化后不能自定義設(shè)置單個(gè)數(shù)據(jù)項(xiàng)的樣式。
    is_large: bool = False,

    # 開啟繪制優(yōu)化的閾值。
    large_threshold: types.Numeric = 400,

    # 使用 dimensions 定義 series.data 或者 dataset.source 的每個(gè)維度的信息。
    # 注意:如果使用了 dataset,那么可以在 dataset.source 的第一行/列中給出 dimension 名稱。
    # 于是就不用在這里指定 dimension。
    # 但是,如果在這里指定了 dimensions,那么 ECharts 不再會(huì)自動(dòng)從 dataset.source 的第一行/列中獲取維度信息。
    dimensions: types.Union[types.Sequence, None] = None,

    # 當(dāng)使用 dataset 時(shí),seriesLayoutBy 指定了 dataset 中用行還是列對應(yīng)到系列上,也就是說,系列“排布”到 dataset 的行還是列上??扇≈担?    # 'column':默認(rèn),dataset 的列對應(yīng)于系列,從而 dataset 中每一列是一個(gè)維度(dimension)。
    # 'row':dataset 的行對應(yīng)于系列,從而 dataset 中每一行是一個(gè)維度(dimension)。
    series_layout_by: str = "column",

    # 如果 series.data 沒有指定,并且 dataset 存在,那么就會(huì)使用 dataset。
    # datasetIndex 指定本系列使用那個(gè) dataset。
    dataset_index: types.Numeric = 0,

    # 是否裁剪超出坐標(biāo)系部分的圖形。柱狀圖:裁掉所有超出坐標(biāo)系的部分,但是依然保留柱子的寬度
    is_clip: bool = True,

    # 柱狀圖所有圖形的 zlevel 值。
    z_level: types.Numeric = 0,

    # 柱狀圖組件的所有圖形的z值??刂茍D形的前后順序。
    # z值小的圖形會(huì)被z值大的圖形覆蓋。
    # z相比zlevel優(yōu)先級更低,而且不會(huì)創(chuàng)建新的 Canvas。
    z: types.Numeric = 2,

    # 標(biāo)簽配置項(xiàng),參考 `series_options.LabelOpts`
    label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),

    # 標(biāo)記點(diǎn)配置項(xiàng),參考 `series_options.MarkPointOpts`
    markpoint_opts: Union[opts.MarkPointOpts, dict, None] = None,

    # 標(biāo)記線配置項(xiàng),參考 `series_options.MarkLineOpts`
    markline_opts: Union[opts.MarkLineOpts, dict, None] = None,

    # 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
    tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,

    # 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,

    # 可以定義 data 的哪個(gè)維度被編碼成什么。
    encode: types.Union[types.JSFunc, dict, None] = None,
)

BarItem:柱狀圖數(shù)據(jù)項(xiàng)

class BarItem(
    # 數(shù)據(jù)項(xiàng)名稱。
    name: Optional[str] = None,

    # 單個(gè)數(shù)據(jù)項(xiàng)的數(shù)值。
    value: Optional[Numeric] = None,

    # 單個(gè)柱條文本的樣式設(shè)置,參考 `series_options.LabelOpts`。
    label_opts: Union[LabelOpts, dict, None] = None,

    # 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,

    # 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
    tooltip_opts: Union[TooltipOpts, dict, None] = None,
)

BarBackgroundStyleOpts:柱狀圖背景樣式配置

class BarBackgroundStyleOpts(
    # 柱條的顏色。
    color: str = "rgba(180, 180, 180, 0.2)",

    # 柱條的描邊顏色。
    border_color: str = "#000",

    # 柱條的描邊寬度,默認(rèn)不描邊。
    border_width: Numeric = 0,

    # 柱條的描邊類型,默認(rèn)為實(shí)線,支持 'dashed', 'dotted'。
    border_type: str = "solid",

    # 圓角半徑,單位px,支持傳入數(shù)組分別指定 4 個(gè)圓角半徑。 如:
    # barBorderRadius: 5, // 統(tǒng)一設(shè)置四個(gè)角的圓角大小
    # barBorderRadius: [5, 5, 0, 0] //(順時(shí)針左上,右上,右下,左下)
    bar_border_radius: Union[Numeric, Sequence] = 0,

    # 圖形陰影的模糊大小。
    # 該屬性配合 shadowColor,shadowOffsetX, shadowOffsetY 一起設(shè)置圖形的陰影效果。
    shadow_blur: Optional[Numeric] = None,

    # 陰影顏色。支持的格式同color。
    shadow_color: Optional[str] = None,

    # 陰影水平方向上的偏移距離。
    shadow_offset_x: Numeric = 0,

    # 陰影垂直方向上的偏移距離。
    shadow_offset_y: Numeric = 0,

    # 圖形透明度。支持從 0 到 1 的數(shù)字,為 0 時(shí)不繪制該圖形。
    opacity: Optional[Numeric] = None,
)

Demo

gallery 示例

Boxplot:箱形圖

class pyecharts.charts.Boxplot(RectChart)
class Boxplot(
    # 初始化配置項(xiàng),參考 `global_options.InitOpts`
    init_opts: opts.InitOpts = opts.InitOpts()
)
func pyecharts.charts.Boxplot.add_yaxis
def add_yaxis(
    # 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。
    series_name: str,

    # 系列數(shù)據(jù)
    y_axis: types.Sequence[types.Union[opts.BoxplotItem, dict]],

    # 是否選中圖例
    is_selected: bool = True,

    # 使用的 x 軸的 index,在單個(gè)圖表實(shí)例中存在多個(gè) x 軸的時(shí)候有用。
    xaxis_index: Optional[Numeric] = None,

    # 使用的 y 軸的 index,在單個(gè)圖表實(shí)例中存在多個(gè) y 軸的時(shí)候有用。
    yaxis_index: Optional[Numeric] = None,

    # 標(biāo)簽配置項(xiàng),參考 `series_options.LabelOpts`
    label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),

    # 標(biāo)記點(diǎn)配置項(xiàng),參考 `series_options.MarkPointOpts`
    markpoint_opts: Union[opts.MarkPointOpts, dict] = opts.MarkPointOpts(),

    # 標(biāo)記線配置項(xiàng),參考 `series_options.MarkLineOpts`
    markline_opts: Union[opts.MarkLineOpts, dict] = opts.MarkLineOpts(),

    # 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
    tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,

    # 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,
)

BoxplotItem:箱形圖數(shù)據(jù)項(xiàng)

class BoxplotItem(
    # 數(shù)據(jù)項(xiàng)名稱。
    name: Optional[str] = None,

    # 單個(gè)數(shù)據(jù)項(xiàng)的數(shù)值。
    value: Optional[Numeric] = None,

    # 文本的樣式設(shè)置,參考 `series_options.LabelOpts`。
    label_opts: Union[LabelOpts, dict, None] = None,

    # 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,

    # 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
    tooltip_opts: Union[TooltipOpts, dict, None] = None,
)

Demo

gallery 示例

EffectScatter:漣漪特效散點(diǎn)圖

class pyecharts.charts.EffectScatter(RectChart)
class EffectScatter(
    # 初始化配置項(xiàng),參考 `global_options.InitOpts`
    init_opts: opts.InitOpts = opts.InitOpts()
)
func pyecharts.charts.EffectScatter.add_yaxis
 def add_yaxis(
     # 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。
    series_name: str,

    # 系列數(shù)據(jù)
    y_axis: types.Sequence[types.Union[opts.BoxplotItem, dict]],

    # 是否選中圖例
    is_selected: bool = True,

    # 使用的 x 軸的 index,在單個(gè)圖表實(shí)例中存在多個(gè) x 軸的時(shí)候有用。
    xaxis_index: Optional[Numeric] = None,

    # 使用的 y 軸的 index,在單個(gè)圖表實(shí)例中存在多個(gè) y 軸的時(shí)候有用。
    yaxis_index: Optional[Numeric] = None,

    # 系列 label 顏色
    color: Optional[str] = None,

    # 標(biāo)記圖形形狀
    symbol: Optional[str] = None,

    # 標(biāo)記的大小
    symbol_size: Numeric = 10,

    # 標(biāo)記的旋轉(zhuǎn)角度。注意在 markLine 中當(dāng) symbol 為 'arrow' 時(shí)會(huì)忽略 symbolRotate 強(qiáng)制設(shè)置為切線的角度。
    symbol_rotate: types.Optional[types.Numeric] = None,

    # 標(biāo)簽配置項(xiàng),參考 `series_options.LabelOpts`
    label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),

    # 漣漪特效配置項(xiàng),參考 `series_options.EffectOpts`
    effect_opts: Union[opts.EffectOpts, dict] = opts.EffectOpts(),

    # 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
    tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,

    # 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,
)

EffectScatterItem:漣漪特效散點(diǎn)圖數(shù)據(jù)項(xiàng)

class EffectScatterItem(
    # 數(shù)據(jù)項(xiàng)名稱。
    name: Union[str, Numeric] = None,

    # 數(shù)據(jù)項(xiàng)的值
    value: Union[str, Numeric] = None,

    # 單個(gè)數(shù)據(jù)標(biāo)記的圖形。
    symbol: Optional[str] = None,

    # 單個(gè)數(shù)據(jù)標(biāo)記的大小
    symbol_size: Union[Sequence[Numeric], Numeric] = None,

    # 單個(gè)數(shù)據(jù)標(biāo)記的旋轉(zhuǎn)角度(而非弧度)。
    symbol_rotate: Optional[Numeric] = None,

    # 如果 symbol 是 path:// 的形式,是否在縮放時(shí)保持該圖形的長寬比。
    symbol_keep_aspect: bool = False,

    # 單個(gè)數(shù)據(jù)標(biāo)記相對于原本位置的偏移。
    symbol_offset: Optional[Sequence] = None,

    # 標(biāo)簽配置項(xiàng),參考 `series_options.LabelOpts`
    label_opts: Union[LabelOpts, dict, None] = None,

    # 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,

    # 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
    tooltip_opts: Union[TooltipOpts, dict, None] = None,
)

Demo

gallery 示例

HeatMap:熱力圖

class pyecharts.charts.HeatMap(RectChart)
class HeatMap(
    # 初始化配置項(xiàng),參考 `global_options.InitOpts`
    init_opts: opts.InitOpts = opts.InitOpts()
)
func pyecharts.charts.HeatMap.add_yaxis
def add_yaxis(
    # 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。
    series_name: str,

    # Y 坐標(biāo)軸數(shù)據(jù)
    yaxis_data: types.Sequence[types.Union[opts.HeatMapItem, dict]],

    # 系列數(shù)據(jù)項(xiàng)
    value: types.Sequence[types.Union[opts.HeatMapItem, dict]],

    # 是否選中圖例
    is_selected: bool = True,

    # 使用的 x 軸的 index,在單個(gè)圖表實(shí)例中存在多個(gè) x 軸的時(shí)候有用。
    xaxis_index: Optional[Numeric] = None,

    # 使用的 y 軸的 index,在單個(gè)圖表實(shí)例中存在多個(gè) y 軸的時(shí)候有用。
    yaxis_index: Optional[Numeric] = None,

    # 標(biāo)簽配置項(xiàng),參考 `series_options.LabelOpts`
    label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),

    # 標(biāo)記點(diǎn)配置項(xiàng),參考 `series_options.MarkPointOpts`
    markpoint_opts: Union[opts.MarkPointOpts, dict, None] = None,

    # 標(biāo)記線配置項(xiàng),參考 `series_options.MarkLineOpts`
    markline_opts: Union[opts.MarkLineOpts, dict, None] = None,

    # 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
    tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,

    # 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,
)

HeatMapItem:熱力圖數(shù)據(jù)項(xiàng)

class HeatMapItem(
    # 數(shù)據(jù)項(xiàng)名稱。
    name: Optional[str] = None,

    # 數(shù)據(jù)項(xiàng)的值。
    value: Optional[Sequence] = None,

    # 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,

    # 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
    tooltip_opts: Union[TooltipOpts, dict, None] = None,
)

Demo

gallery 示例

Kline/Candlestick:K線圖

class pyecharts.charts.Kline(RectChart)
class Kline(
    # 初始化配置項(xiàng),參考 `global_options.InitOpts`
    init_opts: opts.InitOpts = opts.InitOpts()
)
func pyecharts.charts.Kline.add_yaxis
def add_yaxis(
    # 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。
    series_name: str,

    # 系列數(shù)據(jù)
    y_axis: types.Sequence[types.Union[opts.CandleStickItem, dict]],

    # 是否選中圖例
    is_selected: bool = True,

    # 使用的 x 軸的 index,在單個(gè)圖表實(shí)例中存在多個(gè) x 軸的時(shí)候有用。
    xaxis_index: Optional[Numeric] = None,

    # 使用的 y 軸的 index,在單個(gè)圖表實(shí)例中存在多個(gè) y 軸的時(shí)候有用。
    yaxis_index: Optional[Numeric] = None,

    # 標(biāo)記線配置項(xiàng),參考 `series_options.MarkLineOpts`
    markline_opts: Union[opts.MarkLineOpts, dict, None] = None,

    # 標(biāo)記點(diǎn)配置項(xiàng),參考 `series_options.MarkPointOpts`
    markpoint_opts: Union[opts.MarkPointOpts, dict, None] = None,

    # 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
    tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,

    # 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,
)

CandleStickItem:K 線圖數(shù)據(jù)項(xiàng)

class CandleStickItem(
    # 數(shù)據(jù)項(xiàng)名稱。
    name: Optional[str] = None,

    # 數(shù)據(jù)項(xiàng)的值。
    value: Optional[Sequence] = None,

    # 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,

    # 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
    tooltip_opts: Union[TooltipOpts, dict, None] = None,
)

Demo

gallery 示例

Line:折線/面積圖

class pyecharts.charts.Line(RectChart)
class Line(
    # 初始化配置項(xiàng),參考 `global_options.InitOpts`
    init_opts: opts.InitOpts = opts.InitOpts()
)
func pyecharts.charts.Line.add_yaxis
def add_yaxis(
    # 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。
    series_name: str,

    # 系列數(shù)據(jù)
    y_axis: types.Sequence[types.Union[opts.LineItem, dict]],

    # 是否選中圖例
    is_selected: bool = True,

    # 是否連接空數(shù)據(jù),空數(shù)據(jù)使用 `None` 填充
    is_connect_nones: bool = False,

    # 使用的 x 軸的 index,在單個(gè)圖表實(shí)例中存在多個(gè) x 軸的時(shí)候有用。
    xaxis_index: Optional[Numeric] = None,

    # 使用的 y 軸的 index,在單個(gè)圖表實(shí)例中存在多個(gè) y 軸的時(shí)候有用。
    yaxis_index: Optional[Numeric] = None,

    # 系列 label 顏色
    color: Optional[str] = None,

    # 是否顯示 symbol, 如果 false 則只有在 tooltip hover 的時(shí)候顯示。
    is_symbol_show: bool = True,

    # 標(biāo)記的圖形。
    # ECharts 提供的標(biāo)記類型包括 'circle', 'rect', 'roundRect', 'triangle', 
    # 'diamond', 'pin', 'arrow', 'none'
    # 可以通過 'image://url' 設(shè)置為圖片,其中 URL 為圖片的鏈接,或者 dataURI。
    symbol: Optional[str] = None,

    # 標(biāo)記的大小,可以設(shè)置成諸如 10 這樣單一的數(shù)字,也可以用數(shù)組分開表示寬和高,
    # 例如 [20, 10] 表示標(biāo)記寬為 20,高為 10。
    symbol_size: Union[Numeric, Sequence] = 4,

    # 數(shù)據(jù)堆疊,同個(gè)類目軸上系列配置相同的 stack 值可以堆疊放置。
    stack: Optional[str] = None,

    # 是否平滑曲線
    is_smooth: bool = False,

    # 是否裁剪超出坐標(biāo)系部分的圖形。折線圖:裁掉所有超出坐標(biāo)系的折線部分,拐點(diǎn)圖形的邏輯按照散點(diǎn)圖處理
    is_clip: bool = True,

    # 是否顯示成階梯圖
    is_step: bool = False,

    # 是否開啟 hover 在拐點(diǎn)標(biāo)志上的提示動(dòng)畫效果。
    is_hover_animation: bool = True,

    # 折線圖所有圖形的 zlevel 值。
    # zlevel用于 Canvas 分層,不同zlevel值的圖形會(huì)放置在不同的 Canvas 中,Canvas 分層是一種常見的優(yōu)化手段。
    # zlevel 大的 Canvas 會(huì)放在 zlevel 小的 Canvas 的上面。
    z_level: types.Numeric = 0,

    # 折線圖組件的所有圖形的z值??刂茍D形的前后順序。z值小的圖形會(huì)被z值大的圖形覆蓋。
    # z 相比 zlevel 優(yōu)先級更低,而且不會(huì)創(chuàng)建新的 Canvas。
    z: types.Numeric = 0,

    # 標(biāo)記點(diǎn)配置項(xiàng),參考 `series_options.MarkPointOpts`
    markpoint_opts: Union[opts.MarkPointOpts, dict, None] = None,

    # 標(biāo)記線配置項(xiàng),參考 `series_options.MarkLineOpts`
    markline_opts: Union[opts.MarkLineOpts, dict, None] = None,

    # 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
    tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,

    # 標(biāo)簽配置項(xiàng),參考 `series_options.LabelOpts`
    label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),

    # 線樣式配置項(xiàng),參考 `series_options.LineStyleOpts`
    linestyle_opts: Union[opts.LineStyleOpts, dict] = opts.LineStyleOpts(),

    # 填充區(qū)域配置項(xiàng),參考 `series_options.AreaStyleOpts`
    areastyle_opts: Union[opts.AreaStyleOpts, dict] = opts.AreaStyleOpts(),

    # 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,
)

LineItem:折線圖數(shù)據(jù)項(xiàng)

class LineItem(
    # 數(shù)據(jù)項(xiàng)名稱。
    name: Union[str, Numeric] = None,

    # 數(shù)據(jù)項(xiàng)的值
    value: Union[str, Numeric] = None,

    # 單個(gè)數(shù)據(jù)標(biāo)記的圖形。
    symbol: Optional[str] = None,

    # 單個(gè)數(shù)據(jù)標(biāo)記的大小
    symbol_size: Union[Sequence[Numeric], Numeric] = None,

    # 單個(gè)數(shù)據(jù)標(biāo)記的旋轉(zhuǎn)角度(而非弧度)。
    symbol_rotate: Optional[Numeric] = None,

    # 如果 symbol 是 path:// 的形式,是否在縮放時(shí)保持該圖形的長寬比。
    symbol_keep_aspect: bool = False,

    # 單個(gè)數(shù)據(jù)標(biāo)記相對于原本位置的偏移。
    symbol_offset: Optional[Sequence] = None,

    # 標(biāo)簽配置項(xiàng),參考 `series_options.LabelOpts`
    label_opts: Union[LabelOpts, dict, None] = None,

    # 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,

    # 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
    tooltip_opts: Union[TooltipOpts, dict, None] = None,
)

Demo

gallery 示例

PictorialBar:象形柱狀圖

class pyecharts.charts.PictorialBar(RectChart)
class PictorialBar(
    # 初始化配置項(xiàng),參考 `global_options.InitOpts`
    init_opts: opts.InitOpts = opts.InitOpts()
)
func pyecharts.charts.PictorialBar.add_yaxis
def add_yaxis(
    # 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。
    series_name: str,

    # 系列數(shù)據(jù)
    y_axis: Sequence,

    # 圖形類型。
    # ECharts 提供的標(biāo)記類型包括 'circle', 'rect', 'roundRect', 'triangle', 
    # 'diamond', 'pin', 'arrow', 'none'
    # 可以通過 'image://url' 設(shè)置為圖片,其中 URL 為圖片的鏈接,或者 dataURI。
    # URL 為圖片鏈接例如:'image://http://xxx.xxx.xxx/a/b.png'
    # URL 為 dataURI 例如:'image://data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfO...
    # 可以通過 'path://' 將圖標(biāo)設(shè)置為任意的矢量路徑。這種方式相比于使用圖片的方式,不用擔(dān)心因?yàn)榭s放而產(chǎn)生鋸齒或模糊,
    # 而且可以設(shè)置為任意顏色。路徑圖形會(huì)自適應(yīng)調(diào)整為合適的大小。路徑的格式參見 SVG PathData。
    # 可以從 Adobe Illustrator 等工具編輯導(dǎo)出。例如:
    # 'path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,2...'
    symbol: Optional[str] = None,

    # 圖形的大小。
    # 可以用數(shù)組分開表示寬和高,例如 [20, 10] 表示標(biāo)記寬為20,
    # 高為 10,也可以設(shè)置成諸如 10 這樣單一的數(shù)字,表示 [10, 10]。
    # 可以設(shè)置成絕對值(如 10),也可以設(shè)置成百分比(如 '120%'、['55%', 23])。
    symbol_size: Union[Numeric, Sequence, None] = None,

    # 圖形的定位位置??扇≈担?    # 'start':圖形邊緣與柱子開始的地方內(nèi)切。
    # 'end':圖形邊緣與柱子結(jié)束的地方內(nèi)切。
    # 'center':圖形在柱子里居中。
    symbol_pos: Optional[str] = None,

    # 圖形相對于原本位置的偏移。symbolOffset 是圖形定位中最后計(jì)算的一個(gè)步驟,
    # 可以對圖形計(jì)算出來的位置進(jìn)行微調(diào)。
    # 可以設(shè)置成絕對值(如 10),也可以設(shè)置成百分比(如 '120%'、['55%', 23])。
    # 當(dāng)設(shè)置為百分比時(shí),表示相對于自身尺寸 symbolSize 的百分比。
    # 例如 [0, '-50%'] 就是把圖形向上移動(dòng)了自身尺寸的一半的位置。
    symbol_offset: Optional[Sequence] = None,

    # 圖形的旋轉(zhuǎn)角度。
    # 注意,symbolRotate 并不會(huì)影響圖形的定位(哪怕超出基準(zhǔn)柱的邊界),而只是單純得繞自身中心旋轉(zhuǎn)。
    # 此屬性可以被設(shè)置在系列的 根部,表示對此系列中所有數(shù)據(jù)都生效;
    # 也可以被設(shè)置在 data 中的 每個(gè)數(shù)據(jù)項(xiàng)中,表示只對此數(shù)據(jù)項(xiàng)生效。
    symbol_rotate: Optional[Numeric] = None,

    # 指定圖形元素是否重復(fù)。值可為:
    # false/null/undefined:不重復(fù),即每個(gè)數(shù)據(jù)值用一個(gè)圖形元素表示。
    # true:使圖形元素重復(fù),即每個(gè)數(shù)據(jù)值用一組重復(fù)的圖形元素表示。重復(fù)的次數(shù)依據(jù) data 計(jì)算得到。
    # a number:使圖形元素重復(fù),即每個(gè)數(shù)據(jù)值用一組重復(fù)的圖形元素表示。重復(fù)的次數(shù)是給定的定值。
    # 'fixed':使圖形元素重復(fù),即每個(gè)數(shù)據(jù)值用一組重復(fù)的圖形元素表示。
    # 重復(fù)的次數(shù)依據(jù) symbolBoundingData 計(jì)算得到,即與 data 無關(guān)。這在此圖形被用于做背景時(shí)有用。
    symbol_repeat: Optional[str] = None,

    # 指定圖形元素重復(fù)時(shí),繪制的順序。這個(gè)屬性在兩種情況下有用處:
    # 當(dāng) symbolMargin 設(shè)置為負(fù)值時(shí),重復(fù)的圖形會(huì)互相覆蓋,這是可以使用 symbolRepeatDirection 來指定覆蓋順序。
    # 當(dāng) animationDelay 或 animationDelayUpdate 被使用時(shí),symbolRepeatDirection 指定了 index 順序。
    # 這個(gè)屬性的值可以是:'start' 或 'end'。
    symbol_repeat_direction: Optional[str] = None,

    # 圖形的兩邊間隔(『兩邊』是指其數(shù)值軸方向的兩邊)。可以是絕對數(shù)值(如 20),或者百分比值(如 '-30%'),
    # 表示相對于自身尺寸 symbolSize 的百分比。只有當(dāng) symbolRepeat 被使用時(shí)有意義。
    # 可以是正值,表示間隔大;也可以是負(fù)數(shù)。當(dāng) symbolRepeat 被使用時(shí),負(fù)數(shù)時(shí)能使圖形重疊。
    # 可以在其值結(jié)尾處加一個(gè) "!",如 "30%!" 或 25!,表示第一個(gè)圖形的開始和最后一個(gè)圖形結(jié)尾留白,
    # 不緊貼邊界。默認(rèn)會(huì)緊貼邊界。
    symbol_margin: Union[Numeric, str, None] = None,

    # 是否剪裁圖形。
    # false/null/undefined:圖形本身表示數(shù)值大小。
    # true:圖形被剪裁后剩余的部分表示數(shù)值大小。
    # symbolClip 常在這種場景下使用:同時(shí)表達(dá)『總值』和『當(dāng)前數(shù)值』。在這種場景下,可以使用兩個(gè)系列,
    # 一個(gè)系列是完整的圖形,當(dāng)做『背景』來表達(dá)總數(shù)值,另一個(gè)系列是使用 symbolClip 進(jìn)行剪裁過的圖形,表達(dá)當(dāng)前數(shù)值。
    is_symbol_clip: bool = False,

    # 是否選中圖例
    is_selected: bool = True,

    # 使用的 x 軸的 index,在單個(gè)圖表實(shí)例中存在多個(gè) x 軸的時(shí)候有用。
    xaxis_index: Optional[Numeric] = None,

    # 使用的 y 軸的 index,在單個(gè)圖表實(shí)例中存在多個(gè) y 軸的時(shí)候有用。
    yaxis_index: Optional[Numeric] = None,

    # 系列 label 顏色
    color: Optional[str] = None,

    # 同一系列的柱間距離,默認(rèn)為類目間距的 20%,可設(shè)固定值
    category_gap: Union[Numeric, str] = "20%",

    # 不同系列的柱間距離,為百分比(如 '30%',表示柱子寬度的 30%)。
    # 如果想要兩個(gè)系列的柱子重疊,可以設(shè)置 gap 為 '-100%'。這在用柱子做背景的時(shí)候有用。
    gap: Optional[str] = None,

    # 標(biāo)簽配置項(xiàng),參考 `series_options.LabelOpts`
    label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),

    # 標(biāo)記點(diǎn)配置項(xiàng),參考 `series_options.MarkPointOpts`
    markpoint_opts: Union[opts.MarkPointOpts, dict, None] = None,

    # 標(biāo)記線配置項(xiàng),參考 `series_options.MarkLineOpts`
    markline_opts: Union[opts.MarkLineOpts, dict, None] = None,

    # 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
    tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,

    # 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,

    # 可以定義 data 的哪個(gè)維度被編碼成什么。
    encode: types.Union[types.JsCode, dict] = None,
)

Demo

gallery 示例

Scatter:散點(diǎn)圖

class pyecharts.charts.Scatter(RectChart)
class Scatter(
    # 初始化配置項(xiàng),參考 `global_options.InitOpts`
    init_opts: opts.InitOpts = opts.InitOpts()
)
func pyecharts.charts.Scatter.add_yaxis
def add_yaxis(
    # 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。
    series_name: str,

    # 系列數(shù)據(jù)
    y_axis: Sequence,

    # 是否選中圖例
    is_selected: bool = True,

    # 使用的 x 軸的 index,在單個(gè)圖表實(shí)例中存在多個(gè) x 軸的時(shí)候有用。
    xaxis_index: Optional[Numeric] = None,

    # 使用的 y 軸的 index,在單個(gè)圖表實(shí)例中存在多個(gè) y 軸的時(shí)候有用。
    yaxis_index: Optional[Numeric] = None,

    # 系列 label 顏色
    color: Optional[str] = None,

    # 標(biāo)記的圖形。
    # ECharts 提供的標(biāo)記類型包括 'circle', 'rect', 'roundRect', 'triangle', 
    # 'diamond', 'pin', 'arrow', 'none'
    # 可以通過 'image://url' 設(shè)置為圖片,其中 URL 為圖片的鏈接,或者 dataURI。
    symbol: Optional[str] = None,

    # 標(biāo)記的大小,可以設(shè)置成諸如 10 這樣單一的數(shù)字,也可以用數(shù)組分開表示寬和高,
    # 例如 [20, 10] 表示標(biāo)記寬為 20,高為 10。
    symbol_size: Numeric = 10,

    # 標(biāo)記的旋轉(zhuǎn)角度。注意在 markLine 中當(dāng) symbol 為 'arrow' 時(shí)會(huì)忽略 symbolRotate 強(qiáng)制設(shè)置為切線的角度。
    symbol_rotate: types.Optional[types.Numeric] = None,

    # 標(biāo)簽配置項(xiàng),參考 `series_options.LabelOpts`
    label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(position="right"),

    # 標(biāo)記點(diǎn)配置項(xiàng),參考 `series_options.MarkPointOpts`
    markpoint_opts: Union[opts.MarkPointOpts, dict, None] = None,

    # 標(biāo)記線配置項(xiàng),參考 `series_options.MarkLineOpts`
    markline_opts: Union[opts.MarkLineOpts, dict, None] = None,

    # 圖表標(biāo)域,常用于標(biāo)記圖表中某個(gè)范圍的數(shù)據(jù),參考 `series_options.MarkAreaOpts`
    markarea_opts: types.MarkArea = None,

    # 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
    tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,

    # 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,

    # 可以定義 data 的哪個(gè)維度被編碼成什么。
    encode: types.Union[types.JSFunc, dict, None] = None,
)

ScatterItem:散點(diǎn)圖數(shù)據(jù)項(xiàng)

class ScatterItem(
    # 數(shù)據(jù)項(xiàng)名稱。
    name: Union[str, Numeric] = None,

    # 數(shù)據(jù)項(xiàng)值。
    value: Union[str, Numeric] = None,

    # 單個(gè)數(shù)據(jù)標(biāo)記的圖形。
    # ECharts 提供的標(biāo)記類型包括 
    # 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'
    # 可以通過 'image://url' 設(shè)置為圖片,其中 URL 為圖片的鏈接,或者 dataURI。
    # 可以通過 'path://' 將圖標(biāo)設(shè)置為任意的矢量路徑。
    symbol: Optional[str] = None,

    # 單個(gè)數(shù)據(jù)標(biāo)記的大小,可以設(shè)置成諸如 10 這樣單一的數(shù)字
    # 也可以用數(shù)組分開表示寬和高,例如 [20, 10] 表示標(biāo)記寬為20,高為10。
    symbol_size: Union[Sequence[Numeric], Numeric] = None,

    # 單個(gè)數(shù)據(jù)標(biāo)記的旋轉(zhuǎn)角度(而非弧度)。正
    symbol_rotate: Optional[Numeric] = None,

    # 如果 symbol 是 path:// 的形式,是否在縮放時(shí)保持該圖形的長寬比。
    symbol_keep_aspect: bool = False,

    # 單個(gè)數(shù)據(jù)標(biāo)記相對于原本位置的偏移。
    symbol_offset: Optional[Sequence] = None,

    # 標(biāo)簽配置項(xiàng),參考 `series_options.LabelOpts`
    label_opts: Union[LabelOpts, dict, None] = None,

    # 圖元樣式配置項(xiàng),參考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,

    # 提示框組件配置項(xiàng),參考 `series_options.TooltipOpts`
    tooltip_opts: Union[TooltipOpts, dict, None] = None,
)

Demo

gallery 示例

Overlap:層疊多圖

Demo

gallery 示例


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號