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中展示
运行结果如下: