可视化 您所在的位置:网站首页 柱形图自定义图案 可视化

可视化

2023-04-19 18:05| 来源: 网络整理| 查看: 265

大家好,我是jiejie~

在可视化展示过程中,为了达到更形象的展示效果,我们往往需要自定义一些直观的图例,本期给大家介绍可视化库Pyecharts中的象形柱图,希望对你有所帮助。

准备工作

1.1 导入模块

from pyecharts import options as opts from pyecharts.charts import PictorialBar from pyecharts.globals import SymbolType 复制代码

没有安装pyecharts的,直接pip安装即可。

1.2 部分参数

def add_yaxis( # 系列名称 series_name: str, # 系列数据 y_axis: Sequence, # 图形类型 symbol: Optional[str] = None, # 图形的大小 symbol_size: Union[Numeric, Sequence, None] = None, # 图形的定位位置 symbol_pos: Optional[str] = None, # 图形相对于原本位置的偏移 symbol_offset: Optional[Sequence] = None, # 图形的旋转角度 symbol_rotate: Optional[Numeric] = None, # 是否剪裁图形 is_symbol_clip: bool = False, # 系列 label 颜色 color: Optional[str] = None, # 同一系列的柱间距离,默认为类目间距的 10%,可设固定值 category_gap: Union[Numeric, str] = "10%", # 标签配置项,参考 `series_options.LabelOpts` label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(), ) 复制代码 基础象形图

部分省市人口数量:

province = ["北京", "天津", "湖北", "山西", "上海", "内蒙古", "云南", "黑龙江", "广东", "福建"] values = [2189, 1386, 5775, 3491, 2487, 2404, 4720, 3185, 12601, 4154] c = ( PictorialBar() .add_xaxis(province) .add_yaxis( "", values, label_opts=opts.LabelOpts(is_show=False), symbol_size=18, symbol_repeat="fixed", symbol_offset=[0, 0], is_symbol_clip=True, symbol=SymbolType.ARROW, ) .reversal_axis() .set_global_opts( title_opts=opts.TitleOpts(title="省份人口数量(万人)"), xaxis_opts=opts.AxisOpts(is_show=True), yaxis_opts=opts.AxisOpts( axistick_opts=opts.AxisTickOpts(is_show=False), axisline_opts=opts.AxisLineOpts( linestyle_opts=opts.LineStyleOpts(opacity=0) ), ), ) ) c.render_notebook() 复制代码

效果:

symbol样式可选: RECT、ROUND_RECT、TRIANGLE、DIAMOND、ARROW。

设置为“DIAMOND”效果如下:

数据来自之前文章:可视化 | 第七次人口普查数据分析可视化(Pandas+Pyecharts)

自定义图例

3.1 图片图例

3.2 生成象形图

代码:

c = ( PictorialBar() .add_xaxis(list(dic.keys())) .add_yaxis( "2020", [ {"value": 18, "symbol": dic['飞机']}, {"value": 40, "symbol": dic['火车']}, {"value": 78, "symbol": dic['汽车']}, {"value": 66, "symbol": dic['轮船']}, ], label_opts=opts.LabelOpts(is_show=False), symbol_size=22, symbol_repeat="fixed", symbol_offset=[0, 5], is_symbol_clip=True, ) .add_yaxis( "2021", [ {"value": 54, "symbol": dic['飞机']}, {"value": 68, "symbol": dic['火车']}, {"value": 105, "symbol": dic['汽车']}, {"value": 73, "symbol": dic['轮船']}, ], label_opts=opts.LabelOpts(is_show=False), symbol_size=22, symbol_repeat="fixed", symbol_offset=[0, -25], is_symbol_clip=True, ) .reversal_axis() .set_global_opts( title_opts=opts.TitleOpts(title="城市交通工具"), xaxis_opts=opts.AxisOpts(is_show=False), yaxis_opts=opts.AxisOpts( axistick_opts=opts.AxisTickOpts(is_show=False), axisline_opts=opts.AxisLineOpts( linestyle_opts=opts.LineStyleOpts(opacity=0) ), ), ) ) c.render_notebook() 复制代码

效果:

完。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有