pyecharts数据可视化(python柱状图饼图)

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

 pip3 install --index-url https://pypi.douban.com/simple pyecharts

简单柱状图:

在这里插入图片描述
代码

from pyecharts.charts import Bar 
bar = Bar() 
bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]) 
bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90]) 
bar.render()# render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件 
# 也可以传入路径参数,如 bar.render("mycharts.html") 

from pyecharts.charts import Bar
from pyecharts import options as opts
bar = (
    Bar()
    .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
    .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
    .add_yaxis("商家B", [6, 20, 38, 4, 70, 95])
    .set_global_opts(title_opts=opts.TitleOpts(title="我的第一个图表", subtitle="这里是副标题"))
)
bar.render_notebook()

在这里插入图片描述

叠加柱状图

from pyecharts.charts import Bar
from pyecharts import options as opts
bar = (
    Bar()
    .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
    .add_yaxis("商家A", [5, 20, 36, 10, 75, 90],stack="stack1")
    .add_yaxis("商家B", [6, 20, 38, 4, 70, 95],stack="stack1")
    .set_global_opts(title_opts=opts.TitleOpts(title="我的第一个图表", subtitle="这里是副标题"))
)
bar.render_notebook()

在这里插入图片描述

柱状图反转

from pyecharts.charts import Bar
from pyecharts import options as opts
bar = (
    Bar()
    .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
    .add_yaxis("商家A", [5, 20, 36, 10, 75, 90],stack="stack1")
    .add_yaxis("商家B", [6, 20, 38, 4, 70, 95],stack="stack1")
    .set_global_opts(title_opts=opts.TitleOpts(title="我的第一个图表", subtitle="这里是副标题"))
    .reversal_axis()
    .set_series_opts(label_opts=opts.LabelOpts(position="right"))
    .set_global_opts(title_opts=opts.TitleOpts(title="Bar-翻转 XY 轴"))
)
bar.render_notebook()

在这里插入图片描述

slider-水平

import random
from pyecharts.charts import Bar
from pyecharts import options as opts
attr = ["{}天".format(i) for i in range(30)]
v1 = [random.randint(1, 30) for _ in range(30)]
bar = (
    Bar()
    .add_xaxis(attr)
    .add_yaxis("",v1)
    .set_global_opts(title_opts=opts.TitleOpts(title="Bar-DataZoom(slider-水平)"),
            datazoom_opts=opts.DataZoomOpts(),)
)
bar.render_notebook()

在这里插入图片描述

柱状图标签过长解决

from pyecharts.charts import Bar
from pyecharts import options as opts

bar = (
    Bar()
       .add_xaxis(
            [
                "名字很长的X轴标签1",
                "名字很长的X轴标签2",
                "名字很长的X轴标签3",
                "名字很长的X轴标签4",
                "名字很长的X轴标签5",
                "名字很长的X轴标签6",
            ]
        )
        .add_yaxis("商家A", [10, 20, 30, 40, 50, 40])
        .add_yaxis("商家B", [20, 10, 40, 30, 40, 50])
        .set_global_opts(
            xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),title_opts=opts.TitleOpts(title="Bar-旋转X轴标签", subtitle="解决标签名字过长的问题"),
        )
    )
bar.render_notebook()

在这里插入图片描述

markPoint效果

from pyecharts.faker import Faker
from pyecharts.charts import Bar
from pyecharts import options as opts

bar = (
    Bar()
        .add_xaxis(Faker.choose())
        .add_yaxis("商家A", Faker.values())
        .add_yaxis("商家B", Faker.values())
        .set_global_opts(title_opts=opts.TitleOpts(title="Bar-MarkPoint(指定类型)"))
        .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="平均值"),
                ]
            ),
        )
)
bar.render_notebook()

在这里插入图片描述

饼图

在这里插入图片描述

from pyecharts.charts import Pie   #从pyecharts中导入Pie类
from pyecharts import options as opts  #使用 options 配置项
pie = (
    Pie()
    .add("",[list(z) for z in zip(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
    [5, 20, 36, 10, 75, 90])])
    .set_global_opts(title_opts=opts.TitleOpts(title="饼图基本示例", subtitle="这里是副标题"))
   .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))#设置标签格式
)
pie.render_notebook()

环形饼图

在这里插入图片描述

from pyecharts.charts import Pie#从pyecharts中导入line类
from pyecharts import options as opts#使用 options 配置项
pie = (
    Pie()
    .add("",[list(z) for z in zip(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
    [5, 20, 36, 10, 75, 90])],radius=["40%", "75%"])#饼图内半径为40,外半径为75
.set_global_opts(title_opts=opts.TitleOpts(title="Pie-Radius"),
legend_opts=opts.LegendOpts(orient="vertical", pos_top="2%", pos_left="15%"
            ),)#图例采用vertical模式,放在距离顶部2%,左边15%处
   .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))#设置标签格式
)
pie.render( )

多饼图显示

在这里插入图片描述

pie = (
    Pie()
        .add(
        "",
        [list(z) for z in zip(["剧情", "其他"], [25, 75])],
        center=["20%", "30%"],
        radius=[60, 80],
        label_opts=opts.LabelOpts(formatter="{b}: {d}%")
    )  # center控制圆心位置;除了使用set_series_opts也可单饼用label_opts;formatter用{d}表示百分比 

        .add(
        "",
        [list(z) for z in zip(["奇幻", "其他"], [24, 76])],
        center=["55%", "30%"],
        radius=[60, 80],
        label_opts=opts.LabelOpts(formatter="{b}: {d}%")
    )
        .set_global_opts(
        title_opts=opts.TitleOpts(title="Pie-多饼图基本示例"),
        legend_opts=opts.LegendOpts(
            type_="scroll", pos_top="20%", pos_left="80%", orient="vertical"
        ),
    )
)

pie.render()  #

南丁格尔玫瑰图

在这里插入图片描述

def pie_rosetype() -> Pie:
    v = ["aa","bb","dd","qq","rrr"]
    vv = [10,40,20,15,25]
    c = (
        Pie()
        .add(
            "",
            [list(z) for z in zip(v, vv)],
            radius=[0, 100],
            center=["20%", "40%"],
            label_opts=opts.LabelOpts(is_show=False),
        ) 
        .add(
            "",
            [list(z) for z in zip(v, vv)],
            radius=[0, 100],
            center=["50%", "40%"],
            rosetype="area",
        )
        .add(
            "",
            [list(z) for z in zip(v, vv)],
            radius=[0, 100],
            center=["80%", "40%"],
            rosetype="radius",
        )
         .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
        .set_global_opts(title_opts=opts.TitleOpts(title="Pie-玫瑰图示例"))
    )
    return c
pie_rosetype().render_notebook()

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南师大蒜阿熏呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值