Pyecharts是一个用于生成 Echarts 图表的 Python 库。Echarts 是一个基于 JavaScript 的数据可视化库,提供了丰富的图表类型和交互功能。通过 Pyecharts,你可以使用 Python 代码生成各种类型的 Echarts 图表,例如折线图、柱状图、饼图、散点图等。
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.commons.utils import JsCode
def generate_advanced_bar_chart():
bar = (
Bar()
.set_global_opts(
title_opts=opts.TitleOpts(title="柱状图"),
xaxis_opts=opts.AxisOpts(
axislabel_opts=opts.LabelOpts(rotate=15),
splitline_opts=opts.SplitLineOpts(is_show=True, linestyle_opts=opts.LineStyleOpts(type_="dashed")),
),
yaxis_opts=opts.AxisOpts(
name="数量",
axisline_opts=opts.AxisLineOpts(is_show=True, linestyle_opts=opts.LineStyleOpts(color="red")),
),
tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
datazoom_opts=[opts.DataZoomOpts(range_start=50, range_end=100)],
toolbox_opts=opts.ToolboxOpts(
is_show=True,
feature={
"dataView": {"show": True, "readOnly": False},
"magicType": {"show": True, "type": ["line", "bar", "stack", "tiled"]},
"restore": {"show": True},
"saveAsImage": {"show": True},
},
),
)
.add_xaxis(["A", "B", "C", "D", "E", "F"])
.add_yaxis("系列一", [10, 20, 30, 40, 50, 60], label_opts=opts.LabelOpts(position="inside"))
.add_yaxis("系列二", [15, 25, 35, 45, 55, 65], label_opts=opts.LabelOpts(position="inside"))
.add_yaxis("系列三", [20, 30, 40, 50, 60, 70], label_opts=opts.LabelOpts(position="inside"))
)
bar.set_series_opts(
label_opts=opts.LabelOpts(
is_show=True,
color=JsCode(
"""function(params) {
if (params.value > 50) {
return 'red';
} else {
return 'black';
}
}"""
),
)
)
bar.render("柱状图.html")
if __name__ == "__main__":
generate_advanced_bar_chart()
以下是代码运行结果