【无标题】

 需求一: 请基于pyecharts,用柱形图和折线图在同一个坐标系展示表1数据,得到图

from pyecharts import options as opts

from pyecharts.charts import Bar, Grid, Line



x_data = ["{}年".format(i) for i in range(2014, 2022)]

bar = (

    Bar()

    .add_xaxis(x_data)

    .add_yaxis(

        "诊疗量",

        [87430, 90912, 96225, 101885, 107147, 116390, 105764, 120215],

        yaxis_index=0,

        z_level = 0,

        color="#d14a61",

    )

    .extend_axis(

        yaxis=opts.AxisOpts(

            name="诊疗量(万人次)",

            type_="value",

            min_=8000,

            max_=15000,

            position="left",

            axisline_opts=opts.AxisLineOpts(

                linestyle_opts=opts.LineStyleOpts(color="#d14a61")

            ),

            axislabel_opts=opts.LabelOpts(formatter="{value} "),

        )

    )

    .extend_axis(

        yaxis=opts.AxisOpts(

            type_="value",

            name="同比增速",

            min_=-10,

            max_=20,

            position="right",

            axisline_opts=opts.AxisLineOpts(

                linestyle_opts=opts.LineStyleOpts(color="#675bba")

            ),

            axislabel_opts=opts.LabelOpts(formatter="{value} %"),

            splitline_opts=opts.SplitLineOpts(

                is_show=True, linestyle_opts=opts.LineStyleOpts(opacity=1)

            ),

        )

    )

)



line = (

    Line()

    .add_xaxis(x_data)

    .add_yaxis(

        "同比增速",

        [7.40, 4.00, 5.83, 5.81, 5.16, 8.63, -9.13, 13.66],

        yaxis_index=2,

        z_level = 2,

        color="#675bba",

        label_opts=opts.LabelOpts(is_show=False),

    )

)



bar.overlap(line)

grid = Grid()

grid.add(bar, opts.GridOpts(pos_left="5%", pos_right="20%"), is_control_axis_index=True)

grid.render("grid_multi_yaxis.html")

 

 需求二: 请基于pyecharts,用环图展示表2数据,得到图2。

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

"""
Gallery 使用 pyecharts 1.1.0
参考地址: https://echarts.apache.org/examples/editor.html?c=pie-doughnut

目前无法实现的功能:

1、饼状图中间的图例名称暂时无法显示
"""

x_data = ["20岁以下", "20-30岁", "31-40岁", "41-50岁", "51岁以上"]
y_data = [2.2, 27.9, 56.2, 10.9, 2.8]

(
    Pie()
    .add(
        series_name="中药材消费者画像数据",
        data_pair=[list(z) for z in zip(x_data, y_data)],
        radius=["50%", "70%"],
        label_opts=opts.LabelOpts(is_show=False, position="center"),
    )
    .set_global_opts(legend_opts=opts.LegendOpts(pos_left="legft", orient="vertical"))
    .set_series_opts(
        tooltip_opts=opts.TooltipOpts(
            trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"
        ),
        # label_opts=opts.LabelOpts(formatter="{b}: {c}")
    )
    .render("doughnut_chart.html")
)
 

 

 需求三: 请基于pyecharts,用堆积柱形图展示表3数据,得到图3。

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

x_data = ["{}年".format(i) for i in range(2019, 2024)]
y1 = (20.3, 22.0, 23.5, 22.5, 22.3)
y2 = (79.7, 78.0, 76.5, 77.5, 77.7)
bar = (
    Bar()
    .add_xaxis(x_data)
    .add_yaxis("本土企业占比(%)", y2, stack="stack1")
    .add_yaxis("跨国企业占比(%)", y1, stack="stack1")
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="全国药店中药饮片供应商占比情况"))
    .render("bar_stack0.html")
)
 

 

 需求四: 请基于pyecharts,用雷达图展示表4数据,得到图4。

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

v1 = [[33, 45, 3, 9, 6, 4]]

c = (
    Radar()
    .add_schema(
        schema=[
            opts.RadarIndicatorItem(name="化学药", max_=50),
            opts.RadarIndicatorItem(name="中成药", max_=50),
            opts.RadarIndicatorItem(name="生物制品", max_=50),
            opts.RadarIndicatorItem(name="医疗器械", max_=50),
            opts.RadarIndicatorItem(name="中药饮片", max_=50),
            opts.RadarIndicatorItem(name="保健品", max_=50),
        ]
    )
    .add("全国药店药品销售额占比", v1)
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(
        legend_opts=opts.LegendOpts(selected_mode="single"),
        title_opts=opts.TitleOpts(title="全国药店药品销售额占比(%)"),
    )
    .render("radar_selected_mode.html")
)
 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值