利用pyecharts绘制一个雷达图

  python常用网站

# 在Anaconda prompt命令行工具下,通过pip清华镜像源安装pyecharts
# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts  
# pyecharts官网:https://pyecharts.org/#/zh-cn/intro
# pyecharts众多图表示例代码:https://gallery.pyecharts.org/#/README
# pyecharts github项目国内镜像: https://gitee.com/mirrors/pyecharts

绘制雷达图 

pyecharts的radar类表示为雷达图,该类中提供了class radar()配置项和def add_schema()的各种配置项,以下为这两项的函数用法:

class Radar(
        init_opts: opts.InitOpts = opts.InitOpts()
      ) #初始化配置项,参考 `global_options.InitOpts`


def add_schema(schema: Sequence[Union[opts.RadarIndicatorItem, dict]], shape: Optional[str] 
= None,center: Optional[types.Sequence] = None, radius: types.Optional[types.Union[types.Sequence, str]] = None, start_angle: types.Numeric = 90,
textstyle_opts: Union[opts.TextStyleOpts, dict] = opts.TextStyleOpts(),
splitline_opt: Union[opts.SplitLineOpts, dict] = opts.SplitLineOpts(is_show=True),
splitarea_opt: Union[opts.SplitAreaOpts, dict] = opts.SplitAreaOpts(),axisline_opt: Union[opts.AxisLineOpts, dict] = opts.AxisLineOpts(),
radiusaxis_opts: types.RadiusAxis = None, angleaxis_opts: types.AngleAxis = None, polar_opts: types.Polar = None)

该方法常用参数的含义如下:

 

实例如下 

# 导入库
from pyecharts import options as opts
from pyecharts.charts import Radar
 
# 定义数据
data = [{"value": [33, 45, 3, 9, 6, 4]}]
 
# 定义配置
c_schema = [
    {"name": "化学药", "max": 45, "min": 3},
    {"name": "中成药", "max": 45, "min": 3},
    {"name": "生物制品", "max": 45, "min": 3},
    {"name": "医疗器械", "max": 45, "min": 3},
    {"name": "中药饮片", "max": 45, "min": 3},
    {"name": "保健品", "max": 45, "min": 3},
]
 
# 创建雷达图
radar = (
    Radar()
    .set_colors(["red"])     # 设置颜色
    .add_schema(
        schema=c_schema,    
        shape="circle",     # 设置雷达图的形状为圆形
        center=["50%", "50%"],   # 设置雷达图的位置
        radius="80%",           # 设置雷达图的半径
        angleaxis_opts=opts.AngleAxisOpts(
            min_=0,                 
            max_=360,               
            is_clockwise=False,    # 不选择顺时针显示角度轴
            interval=5,            
            axistick_opts=opts.AxisTickOpts(is_show=False),   
            axislabel_opts=opts.LabelOpts(is_show=False),     
            axisline_opts=opts.AxisLineOpts(is_show=False),    
            splitline_opts=opts.SplitLineOpts(is_show=False),  
        ),
        radiusaxis_opts=opts.RadiusAxisOpts(
            min_=0,             
            max_=50,            
            interval=20,        # 设置半径轴刻度
            splitarea_opts=opts.SplitAreaOpts(
                is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=2)      # 显示半径轴的分隔区域,设置透明度为1
            ),
        ),
        polar_opts=opts.PolarOpts(),
        splitarea_opt=opts.SplitAreaOpts(is_show=False),    
        splitline_opt=opts.SplitLineOpts(is_show=False),    
    )
    .add(
        series_name="全国药店药品销售额占比",      
        data=data,
        areastyle_opts=opts.AreaStyleOpts(opacity=0.3),       # 设置数据区域的透明度
        linestyle_opts=opts.LineStyleOpts(width=1),           # 设置线条的宽度
    )
)
radar.render_notebook()   # 渲染到notebook中展示

运行结果如下:

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值