【pyecharts】基本柱形图的创建

from pyecharts.charts import Bar, Line  # 导入要制作图形的种类(柱形图和折线图)
from pyecharts import options as opts  # 导入配置项
from pyecharts.faker import Faker  # faker用于自动生成数据
from pyecharts.globals import ThemeType, RenderType  # 导入主题类型和渲染类型(可以渲染成html文件,png文件等)

# 创建一个柱形图
bar = (
    Bar(
        # 初始化配置项
        init_opts=opts.InitOpts(
            width="700px",
            height="400px",  # 设置图标画布大小
            renderer=RenderType.CANVAS,  # 设置渲染风格
            page_title="网页标题",  # 设置网页标题
            theme=ThemeType.WHITE,  # 主题
            bg_color="white",  # 背景颜色
        )
    )
        # 添加图像元素(x轴和y轴的数据)
        .add_xaxis(Faker.choose())  # 自动生成7个相同种类的名词
        .add_yaxis("商家1", Faker.values())  # 自动生成7个对应的数据
        .add_yaxis("商家2", Faker.values())  # 自动生成7个对应的数据
        # 设置全局配置项
        .set_global_opts(
        # TitleOpts:标题配置项
        title_opts=opts.TitleOpts(
            title="柱形图",  # 主标题名称
            title_link="https://www.baidu.com",  # 给主标题设置超链接
            title_target="blank",  # 选择超链接的打开方式,blank为在一个新窗口打开,self为在当前页面打开

            subtitle="副标题",  # 副标题名称
            subtitle_link="https://www.baidu.com",
            subtitle_target="blank",

            pos_left="0px",  # 设置主标题和副标题的位置,可以是px,%和关键字(left,center,right等)
            pos_top="0px",
            padding=20,  # 内边距,没有单位
            item_gap=5  # 主标题和副标题之间的间隙
        ),
        # 区域缩放配置项
        datazoom_opts=opts.DataZoomOpts(
            is_show=True,  # 是否显示组件
            type_="slider",  # 组件的类型,包括:slider,和inside,slider显示在图像的下方,inside不显示出来,把鼠标放到图像上根据滚轮进行缩放
            is_realtime=True,  # 拖动组件时是否实时更新图像(默认为True)
            range_start=0,  # 组件起始位置占整个组件的百分比
            range_end=100,  # 组件末尾位置占整个组件的百分比
            orient="horizontal",  # horizontal显示水平内容,或vertical显示垂直内容(默认为horizontal)
            is_zoom_lock=False  # 是否锁定选择区域,如果锁定则只能移动,不能缩放
        ),
        # LegendOpts:图例配置项
        legend_opts=opts.LegendOpts(
            type_="plain",  # 图例类型,包括:plain普通图例,scroll可以滚动翻页的图例,用于图例较多的情况
            is_show=True,  # 是否显示图例
            pos_top="0px",  # 图例显示位置,设置方法与标题的类似
            orient="vertical",  # 设置图例的显示方式,horizontal水平,vertical垂直
            selected_mode="False",  # 设置选择模式,True:开启图例点击,False:关闭图例点击,single:单选,multiple:多选
            align="right",  # 设置图标和文字的位置(right表示图标在右)
            padding=10,  # 设置内边距
            item_gap=5,  # 图例之间的间隙大小
            item_width=30,
            item_height=15,  # 图例中每一项的高度和宽度
            inactive_color="#ccc",  # 图例关闭时的颜色(每个项都没被选中)
            legend_icon="diamond"  # 图标样式的选择:circle圆,rect矩形,roundRect圆角矩形,triangle三角形,diamond菱形等
            # 还可以加入路径来使用自定义的图标
        ),
        # VisualMapOpts:视觉映射配置项
        visualmap_opts=opts.VisualMapOpts(
            is_show=True,  # 是否显示
            type_="color",  # color或size
            min_=0,  # 设置配置项的最大值和最小值
            max_=150,  # 如果数据超过最大值用最大值的颜色显示
            range_opacity=0.7,  # 透明度
            range_text=["max", "min"],  # 组件两端显示的文字
            range_color=["blue", "red"],  # 过渡颜色,可以同时包含多种颜色
            orient="vertical",  # 显示方式,垂直或水平,vertical或horizontal
            pos_right="5%",
            pos_bottom="0%",  # 设置位置
            is_piecewise=False,  # 是否为分段型
            is_inverse=False  # 是否反转(上下互换位置)
        ),
        # TooltipOpts:提示框配置项
        tooltip_opts=opts.TooltipOpts(
            is_show=True,  # 是否显示,如果显示则在鼠标移动到柱形图上时会出现相应信息
            trigger="item",
            # 触发类型
            # item:数据项,一般用于散点图,柱形图,饼图
            # axis:坐标轴,提示线,主要用于条形图,折线图
            trigger_on="mousemove|click",  # 触发条件:mouse,click,mousemove|click,分别为鼠标移动触发,点击触发,鼠标移动或点击触发
            formatter="{a}:{b}-{c}",
            # 设置标签内容的格式
            # {a}表示系列名,{b}表示数据名,{c}表示值
            background_color="black",  # 设置提示标签的背景颜色
            border_color="white",  # 设置提示标签的边框颜色
            border_width=1  # 设置边框宽度
        ),
        # AxisOpts:坐标轴配置项
        xaxis_opts=opts.AxisOpts(

            is_show=True,  # 是否显示x轴
            type_="category",
            # 坐标轴类型
            # value:数值轴,用于连续数据
            # category:类目轴,用于离散数据,如:星期一,星期二
            # time:时间轴,用于连续的时序数据
            axisline_opts=opts.AxisLineOpts(is_show=True),  # 是否显示x轴的线
            axistick_opts=opts.AxisTickOpts(is_show=True),  # 是否显示x轴的刻度

        ),
        yaxis_opts=opts.AxisOpts(
            is_show=True,  # 是否显示y轴
            axisline_opts=opts.AxisLineOpts(is_show=True),  # 是否显示y轴的线
            axistick_opts=opts.AxisTickOpts(is_show=True),  # 是否显示y轴的刻度

        )
    )
)
bar.render()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值