软件测试|Python数据可视化神器——pyecharts教程(十四)

使用pyecharts绘制极坐标系图

简介

极坐标系图是一种用于可视化数据的坐标系,与常见的直角坐标系图(笛卡尔坐标系)不同,它使用角度和半径来表示数据点的位置。极坐标系图非常适合展示数据的循环性和周期性关系,以及数据点在一个圆形或极坐标网格上的分布情况。极坐标系图常用于气象学、天文学、声学、生物学、工程学等领域,用于分析和展示周期性数据。它们还可以用于可视化多维数据,其中每个维度由不同的半径表示。本文就给大家介绍一下使用pyecharts绘制极坐标系图。

配置

  1. 导包

极坐标系图和其他类型的图一样,有一个自身专属的类,要绘制极坐标系图,我们需要导入这个类,导入的类如下:

from pyecharts import options as opts
from pyecharts.charts import Polar
  1. add函数设置
def add(
    self,
    series_name: str,  # 系列名称,用于标识不同的数据系列
    data: types.Sequence,  # 数据序列,包含要绘制的数据点
    *,
    type_: str = "line",  # 系列类型,默认为线图
    symbol: types.Optional[str] = None,  # 标记点的样式,默认为None
    symbol_size: types.Numeric = 4,  # 标记点的大小,默认为4
    stack: types.Optional[str] = None,  # 数据堆叠的分组,默认为None
    center: types.Optional[types.Sequence] = None,  # 极坐标系的中心点,默认为None
    label_opts: types.Label = opts.LabelOpts(is_show=False),  # 标签的设置,默认不显示
    areastyle_opts: types.AreaStyle = opts.AreaStyleOpts(),  # 区域样式的设置,默认为空
    effect_opts: types.Effect = opts.EffectOpts(),  # 特效的设置,默认为空
    tooltip_opts: types.Tooltip = None,  # 提示框的设置,默认为None
    itemstyle_opts: types.ItemStyle = None,  # 数据项样式的设置,默认为None
)

绘图实例

  1. 极坐标系结合折线图

下面我们来绘制一个极坐标系和折线结合的图形,代码如下:

from pyecharts import options as opts  # 导入pyecharts的配置模块
from pyecharts.charts import Polar  # 导入极坐标系图表模块

data = [
    (5, 50, "A"),  # 数据点1,包含极径、极角和标签
    (20, 60, "B"),  # 数据点2,包含极径、极角和标签
    (30, 70, "C"),  # 数据点3,包含极径、极角和标签
    (40, 80, "D"),  # 数据点4,包含极径、极角和标签
    (50, 90, "E"),  # 数据点5,包含极径、极角和标签
]

image = (
    Polar()  # 创建一个极坐标系图表对象
    .add_schema(angleaxis_opts=opts.AngleAxisOpts(data=data, type_="value"))  # 设置角度轴参数
    .add("data", data)  # 添加数据系列
    .set_global_opts(title_opts=opts.TitleOpts(title="极坐标系+折线图"))  # 设置全局参数,如标题
)

image.render("极坐标系结合折线图.html")  # 将图表渲染为HTML文件

以上代码绘制了一个普通极坐标系图表,其中data变量包含了一组数据,每个数据点由角度、半径和标签组成。图表将显示这些数据点,并在图表中心绘制角度轴,绘制的图形如下:

软件测试|Python数据可视化神器——pyecharts教程(十四)_第1张图片

  1. 极坐标图结合散点图

很多时候,我们需要分析数据的分布,绘制散点图,同样地,我们也可以将极坐标图和散点图结合起来,代码如下:

from pyecharts import options as opts  # 导入pyecharts的配置模块
from pyecharts.charts import Polar  # 导入极坐标系图表模块
import random  # 导入random模块,用于生成随机数

data = [(i, random.randint(1, 100)) for i in range(101)]  # 生成包含101个数据点的列表,每个数据点由极径和随机生成的极角组成

c = (
    Polar()  # 创建一个极坐标系图表对象
    .add_schema(angleaxis_opts=opts.AngleAxisOpts())  # 设置角度轴的参数
    .add(
        "data",
        data,
        type_="scatter",
        label_opts=opts.LabelOpts(is_show=False),
    )  # 添加散点图的数据系列,设置散点图的类型和标签参数
    .set_global_opts(title_opts=opts.TitleOpts(title="极坐标系+散点图"))  # 设置全局参数,如标题
)

c.render("极坐标系结合散点图.html")  # 将图表渲染为HTML文件

软件测试|Python数据可视化神器——pyecharts教程(十四)_第2张图片

  1. 散点图添加涟漪效果

有时候我们会觉得散点图不够炫酷,我们可以给图添加一些动态效果,比如加上涟漪效果,代码如下:

from pyecharts import options as opts  # 导入pyecharts的配置模块
from pyecharts.charts import Polar  # 导入极坐标系图表模块
import random  # 导入random模块,用于生成随机数

data = [(i, random.randint(1, 100)) for i in range(101)]  # 生成包含101个数据点的列表,每个数据点由极径和随机生成的极角组成

c = (
    Polar()  # 创建一个极坐标系图表对象
    .add_schema(angleaxis_opts=opts.AngleAxisOpts())  # 设置角度轴的参数
    .add(
        "data",
        data,
        type_="effectScatter",
        effect_opts=opts.EffectOpts(scale=10, period=5),
        label_opts=opts.LabelOpts(is_show=False),
    )  # 添加涟漪散点图的数据系列,设置涟漪散点图的类型和特效参数
    .set_global_opts(title_opts=opts.TitleOpts(title="涟漪散点图"))  # 设置全局参数,如标题
)

c.render("涟漪效果图.html")  # 将图表渲染为HTML文件

运行代码,绘制的图像如下:

软件测试|Python数据可视化神器——pyecharts教程(十四)_第3张图片

  1. 极坐标系+饼图

我们还可以将饼图与极坐标系结合起来,代码如下:

from pyecharts import options as opts  # 导入pyecharts的配置模块
from pyecharts.charts import Polar  # 导入极坐标系图表模块
from pyecharts.faker import Faker  # 导入Faker模块,用于生成虚假数据

image = (
    Polar()  # 创建一个极坐标系图表对象
    .add_schema(angleaxis_opts=opts.AngleAxisOpts(data=Faker.week, type_="category"))  # 设置角度轴的参数
    .add("A", [1, 2, 3, 6, 3, 5, 1], type_="bar", stack="stack0")  # 添加数据系列A,设置柱状图的类型和堆叠分组
    .add("B", [2, 4, 6, 3, 2, 3, 1], type_="bar", stack="stack0")  # 添加数据系列B,设置柱状图的类型和堆叠分组
    .add("C", [1, 2, 3, 4, 1, 2, 6], type_="bar", stack="stack0")  # 添加数据系列C,设置柱状图的类型和堆叠分组
    .set_global_opts(title_opts=opts.TitleOpts(title="极坐标系结合饼图"))  # 设置全局参数,如标题
)

image.render("极坐标系结合饼图.html")  # 将图表渲染为HTML文件

运行代码,绘制的图像如下:

软件测试|Python数据可视化神器——pyecharts教程(十四)_第4张图片

总结

本文主要介绍了如何使用pyecharts绘制极坐标系,并使用极坐标系结合其他图形来进行数据分析,希望本文可以帮助到大家。

你可能感兴趣的:(数据可视化,python,信息可视化,数据分析)