PyEcharts 直角坐标系图表之柱状图/条形图

在入门关卡我们已经使用过柱状图。导入语句如下:

from pyecharts.charts import Bar

为了方便构造数据,我们还导入了 PyEcharts 提供的虚拟数据包,如下所示:

from pyecharts.faker import Faker

此外还导入全局变量中的 ThemeType 辅助设置主题类型。

from pyecharts.globals import ThemeType

具体主题参见主题风格。(定制主题 - pyecharts - A Python Echarts Plotting Library built with love.

构造数据

通过 PyEcharts 提供的虚拟数据包 Faker,我们可以用如下语句分别构造用于 x 轴和 y 轴的数据:

data_x = Faker.choose()
data_y_1 = Faker.values()
data_y_2 = Faker.values()

其中,Faker包中的 choose 方法会随机选择一组属性,而 values 方法则生成随机的数据值。

直角坐标系图表通用方法

直角坐标系图表继承自 RectChart, 都拥有以下方法:

新增 X 轴数据:

def add_xaxis(
    # X 轴数据项
    xaxis_data: Sequence
)

扩展 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,
)

翻转 XY 轴数据:

def reversal_axis():

添加 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,
)

柱状图 Y 轴配置项

柱状图 Y 轴部分配置接口如下:

 
  1. class Bar(
  2. # 初始化配置项,参考 `global_options.InitOpts`
  3. init_opts: opts.InitOpts = opts.InitOpts()
  4. )
  5. func pyecharts.charts.Bar.add_yaxis
  6. def add_yaxis(
  7. # 系列名称,用于 tooltip 的显示,legend 的图例筛选。
  8. series_name: str,
  9. # 系列数据
  10. y_axis: Sequence[Numeric, opts.BarItem, dict],
  11. # 是否选中图例
  12. is_selected: bool = True,
  13. # 使用的 x 轴的 index,在单个图表实例中存在多个 x 轴的时候有用。
  14. xaxis_index: Optional[Numeric] = None,
  15. # 使用的 y 轴的 index,在单个图表实例中存在多个 y 轴的时候有用。
  16. yaxis_index: Optional[Numeric] = None,
  17. # 是否启用图例 hover 时的联动高亮
  18. is_legend_hover_link: bool = True,
  19. # 系列 label 颜色
  20. color: Optional[str] = None,
  21. # 是否显示柱条的背景色。通过 backgroundStyle 配置背景样式。
  22. is_show_background: bool = False,
  23. # 每一个柱条的背景样式。需要将 showBackground 设置为 true 时才有效。
  24. background_style: types.Union[types.BarBackground, dict, None] = None,
  25. # 数据堆叠,同个类目轴上系列配置相同的 stack 值可以堆叠放置。
  26. stack: Optional[str] = None,
  27. # 柱条的宽度,不设时自适应。
  28. # 可以是绝对值例如 40 或者百分数例如 '60%'。百分数基于自动计算出的每一类目的宽度。
  29. # 在同一坐标系上,此属性会被多个 'bar' 系列共享。此属性应设置于此坐标系中最后一个 'bar' 系列上才会生效,并且是对此坐标系中所有 'bar' 系列生效。
  30. bar_width: types.Union[types.Numeric, str] = None,
  31. # 柱条的最大宽度。比 barWidth 优先级高。
  32. bar_max_width: types.Union[types.Numeric, str] = None,
  33. # 柱条的最小宽度。在直角坐标系中,默认值是 1。否则默认值是 null。比 barWidth 优先级高。
  34. bar_min_width: types.Union[types.Numeric, str] = None,
  35. # 柱条最小高度,可用于防止某数据项的值过小而影响交互。
  36. bar_min_height: types.Numeric = 0,

初始化配置项

回顾初始化配置项接口:

 
  1. class InitOpts(
  2. # 图表画布宽度,css 长度单位。
  3. width: str = "900px",
  4. # 图表画布高度,css 长度单位。
  5. height: str = "500px",
  6. # 图表 ID,图表唯一标识,用于在多图表时区分。
  7. chart_id: Optional[str] = None,
  8. # 渲染风格,可选 "canvas", "svg"
  9. # # 参考 `全局变量` 章节
  10. renderer: str = RenderType.CANVAS,
  11. # 网页标题
  12. page_title: str = "Awesome-pyecharts",
  13. # 图表主题
  14. theme: str = "white",
  15. # 图表背景颜色
  16. bg_color: Optional[str] = None,
  17. )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值