Pytho之pyecharts库使用实例

本文介绍如何使用PyEcharts库创建Bar和Line图表,并展示了如何配置动画效果、添加刻度线及实现图表叠加。通过具体的代码示例,读者可以了解如何设置图表的主题、样式选项以及全局配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Bar 和 Line

如果X和Y轴的数据都是int或float类型,图形会出错。

from pyecharts.charts.basic_charts import bar
from pyecharts.charts.basic_charts import line
from pyecharts import options as opts
from pyecharts.globals import SymbolType, ThemeType


if __name__ == '__main__':
    X = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24"]
    data1 = ['0', '0', '0', '0', '0', '0', '0',  '3', '7', '18', '21', '20', '18', '8', '5', '5', '1','0', '0', '0', '0', '0', '0', '0' ]
    data2 = ['0', '0', '0', '0', '0', '0', '0', '16', '11', '7', '13', '10', '16', '11', '7', '13', '10','0', '0', '0', '0', '0', '0', '0' ]
   bar = (
        bar.Bar(
            init_opts=opts.InitOpts(
                animation_opts=opts.AnimationOpts(
                    animation_delay=500, animation_easing="elasticOut"  # 延时动画效果
                ),
                theme=ThemeType.LIGHT    # 主题选择 WHITE ,LIGHT...
            ),
        )
        .add_xaxis(
            X,
        )   # X轴数据
        .add_yaxis(
            "A",                # 系列名
            data1,              # 数据
            # gap='0%',         # 不同系列柱间距
            # category_gap=0,   # 相同系列柱间距   category_gap='80%'  百分数或者数值
            # stack='stack1',   # 相同stack名字的系列堆叠在一起
            # color='#003366',  # 柱子颜色
            itemstyle_opts=opts.ItemStyleOpts(opacity='0.5')    # 柱子的属性
        )
        .set_series_opts(     # 图标内的属性设置
            label_opts=opts.LabelOpts(is_show=False),  # 是否显示具体的数据值
            # markpoint_opts=opts.MarkPointOpts(
            #     data=[
            #         opts.MarkPointItem(type_='max', name='最大值'),
            #         opts.MarkPointItem(type_='min', name='最小值'),
            #         opts.MarkPointItem(type_='average', name='平均值'),
            #     ]
            # ),   # 显示出最大值,最小值,平均值,与X轴平行的刻度线
            markline_opts=opts.MarkLineOpts(
                data=[
                    opts.MarkLineItem(type_='LSL', name='LSL:4', x=4),    # 显示与Y轴平行的刻度线1
                    opts.MarkLineItem(type_='USL', name='USL:20', x=20),
                    opts.MarkLineItem(type_='+3sigma', name='+3s', x=18),
                    opts.MarkLineItem(type_='-3sigma', name='-3s', x=6),
                ],
                linestyle_opts=opts.LineStyleOpts(color="#364678", type_="dotted", width=2),  # 设置线的属性
                label_opts=opts.LabelOpts(position='end', formatter='{b}'),  # 设置线上文字的属性,formatter设置label的内容
            ),
        )
        .set_global_opts(     # 图表的坐标轴,title等属性设置
            title_opts=opts.TitleOpts(
                title="Bar-动画配置基本示例",
                # subtitle="我是副标题"
            ),
            yaxis_opts=opts.AxisOpts(
                # axislabel_opts=opts.LabelOpts(formatter='{value}/个'),  # 编辑Y轴的刻度线内容
                name='Qty',  # Y轴名字
                splitline_opts=opts.SplitLineOpts(is_show=True),  # 显示分割线
            ),  # 设置Y轴属性
            xaxis_opts=opts.AxisOpts(
                name='Value',   # X轴名字
                # splitline_opts=opts.SplitLineOpts(is_show=True),  # 显示分割线
            ),  # 设置X轴属性
            # brush_opts=opts.BrushOpts(),  # 圈选工具
            toolbox_opts=opts.ToolboxOpts(),  # 显示toolbox,toolbox中有下载图片的功能
            tooltip_opts=opts.TooltipOpts(formatter='Qty:{c}')  # 自定义鼠标悬停内容
        )
    )
    line = (
        line.Line()
        .add_xaxis(X)
        .add_yaxis(
            "A",
            data1,
            label_opts=opts.LabelOpts(is_show=False),
            is_smooth=True,
            linestyle_opts=opts.LineStyleOpts(width=3),
        )
    )
    bar.overlap(line)           # 将两个图表组合在一起
    bar.render("MyBar.html")    # 生产文件

生成的图表

### 如何使用 Pyecharts 绘制雷达图 Pyecharts 是一个用于生成 Echarts 图表的类,它允许 Python 开发者通过简单的 API 调用来创建丰富的交互式图表[^1]。以下是关于如何使用 Pyecharts Python 中绘制雷达图的具体方法。 #### 雷达图简介 雷达图是一种多变量数据分析工具,适用于展示多个维度的数据及其相对重要性。它可以直观地比较不同对象在同一组指标上的表现。 #### 示例代码 以下是一个完整的示例代码,演示如何使用 Pyecharts 创建并渲染雷达图: ```python from pyecharts.charts import Radar from pyecharts import options as opts # 定义雷达图的指示器(即各个维度) indicator = [ {"name": "销售", "max": 6500}, {"name": "管理", "max": 16000}, {"name": "信息技术", "max": 30000}, {"name": "客服", "max": 38000}, {"name": "研发", "max": 52000}, {"name": "市场", "max": 25000} ] # 数据集 data = [ { "value": [4300, 10000, 28000, 35000, 50000, 19000], "name": "预算分配" }, { "value": [5000, 14000, 28000, 31000, 42000, 21000], "name": "实际开销" } ] # 初始化雷达图实例 radar = ( Radar() .add_schema(schema=indicator) # 添加指示器配置 .add_series("预算 vs 实际", data) # 添加数据系列 .set_global_opts(title_opts=opts.TitleOpts(title="雷达图示例")) # 设置全局选项 ) # 渲染到 HTML 文件 radar.render("radar_chart.html") ``` #### 参数说明 - `schema`:定义雷达图中的各维度名称以及最大值。 - `data`:提供具体数值,表示每个维度的实际值。 - `.add_series()`:向图表中添加数据序列。 - `.render()`:将图表保存为本地文件,默认为 HTML 格式。 此代码会生成一个名为 `radar_chart.html` 的文件,在浏览器中打开即可查看动态雷达图的效果[^3]。 --- ### 注意事项 确保已安装最新版本的 Pyecharts 。如果尚未安装,可以通过以下命令完成安装: ```bash pip install pyecharts ``` 此外,还可以自定义样式、颜色和其他属性来增强视觉效果[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值