可视化作业9

1. 【matplotlib绘图思路】
0. 准备数据(符合传参的需求)—— 数据爬取,数据清洗,数据可视化
1. 创建画布实例
2. 在该画布实例划分区域,并在对应区域创建坐标系实例(直角坐标系,极坐标实例)
3. 通过坐标系实例调用绘图方法,完成绘图
4. 图表辅助元素定制及样式美化
5. 展示图表(渲染图表)


2.【pyecharts绘图思路(面向对象)】
0. 准备数据(符合传参的需求)
1. 导入需要的图表类(Bar,Line,Pie...)
2. 通过导入的类,创建实例
3. 往该实例填充数据
4. 设置“系列配置项”和“全局配置项”(类似于matplotlib图表样式美化和辅助元素定制)
5. 展示图表(渲染图表)

 3.pyecharts绘制柱形图折线图
柱形图和折线图融合在同一个坐标系,运行代码如下:

# 导入模块
import pyecharts.options as opts
from pyecharts.charts import Bar, Line

# x轴数据
x_data = ["2014年", "2015年", "2016年", "2017年", "2018年", "2019年", "2020年", "2021年"]

# 标签名
zzf_list = ["诊疗量(万人次)", "同比增速(%)"]

# "诊疗量(万人次)"的数据
ax1 = [87430, 90912, 96225, 101885, 107147, 116390, 105764, 120215]

# "同比增速(%)的数据
ax2 = [7.40, 4.00, 5.83, 5.81, 5.16, 8.63, -9.31, 13.66]

# 链式调用
bar = (
    Bar(init_opts=opts.InitOpts(width="1000px", height="500px"))  # 设置柱形图宽度与高度
    .add_xaxis(xaxis_data=x_data)  # 添加x轴的数据
    .add_yaxis(
        series_name="诊疗量(万人次)",  # 图例名:诊疗量(万人次)
        y_axis=ax1,  ##y轴柱形图数据
        yaxis_index=1,  # 表示y轴的索引,用于拥有多个y轴的单图表中。
        label_opts=opts.LabelOpts(is_show=False),  # 不显示柱形图数据
    )
    .extend_axis(
        yaxis=opts.AxisOpts(
            name="诊疗量(万人次)",  # y轴名称
            type_="value",
            position="left"  # 位于y轴左侧
        )
    )
    .extend_axis(
        yaxis=opts.AxisOpts(
            name="同比增速(%)",  # y轴名称
            type_="value",
            position="right",  # 位于y轴右侧
        )
    )
    .set_global_opts(  # 设置全局配置项
        title_opts=opts.TitleOpts(title="2014-2021年中国中医类医疗卫生机构诊疗量"),  # 标题名称
        legend_opts=opts.LegendOpts(pos_left="35%"),  # 图例距离左边边距:35%
        tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),  # 显示提示框组件
    )
    .set_series_opts(
        itemstyle_opts=opts.ItemStyleOpts(  # 图元样式配置项
            opacity=0.4),  # 设置柱形图透明度:0.4
    )

)

line = (
    Line()  # 创建Line类的对象
    .add_xaxis(x_data)  # 添加x轴的数据
    .add_yaxis(
        series_name="同比增速(%)",  # 图例名:同比增速(%)
        y_axis=ax2,  # y轴折线图数据
        yaxis_index=2,  # 表示y轴的索引,用于拥有多个y轴的单图表中。
       

bar.overlap(line).render()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值