100天精通Python(可视化篇)——第105天:Pyecharts绘制多种炫酷极坐标系参数说明+代码实战
文章目录
专栏导读
🔥🔥本文已收录于《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html
- 优点:订阅限时9.9付费专栏进入千人全栈VIP答疑群,作者优先解答机会(代码指导、远程服务),群里大佬众多可以抱团取暖(大厂内推机会)
- 专栏福利:简历指导、招聘内推、每周送实体书、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等
一、极坐标系介绍
1. 极坐标系是什么?
极坐标系是一种表示平面上点位置的坐标系统,其中点的位置由极径和极角两个参数确定。
在极坐标系中,每个点的位置由两个值确定:极径和极角。极径表示点到原点的距离,而极角表示点与正轴之间的夹角。
通常,极径用正数表示,表示点与原点的距离,可以是任意非负实数。而极角通常用弧度制表示,表示从正极轴(通常是x轴)逆时针旋转的角度。极角的范围通常是[0, 2π],表示一个完整的圆周。
极坐标系常用于描述圆形、环形和对称图形等,尤其适用于表示周期性的数据。与直角坐标系不同,极坐标系更加直观,并且可以提供更多的信息,如点到原点的距离和角度。
在绘图中,极坐标系可以用来绘制极坐标图,其中数据点的位置由极径和极角确定。极坐标图通常以极径为半径,在极角方向上绘制数据点,形成一个圆形或扇形的图形。
2. 极坐标系的应用场景?
极坐标系在许多领域中都有广泛的应用,以下是一些常见的应用场景:
-
物理学:极坐标系在物理学中常用于描述旋转和循环运动的物体,如天体运动、机械振动等。
-
工程学:极坐标系在工程学中常用于描述圆形或对称结构的设计和分析,如天线辐射图、声波传播图等。
-
地理学:极坐标系在地理学中常用于描述地球表面的位置和方向,如经纬度坐标系就是一种极坐标系。
-
数学:极坐标系在数学中用于简化某些问题的计算和分析,如复数的表示和运算、曲线的参数方程等。
-
数据可视化:极坐标系在数据可视化中常用于展示周期性数据的变化趋势,如气象数据的季节变化、股票价格的周期性波动等。
-
图形绘制:极坐标系在绘图中常用于绘制极坐标图,如雷达图、极坐标柱状图等,用于展示多个数据维度之间的关系。
总的来说,极坐标系的应用场景涵盖了物理学、工程学、地理学、数学、数据可视化和图形绘制等领域,用于描述旋转和循环运动、圆形或对称结构、地球表面位置、复数运算、周期性数据和多维数据关系等。
二、极坐标系配置选项
1. 导包
from pyecharts import options as optsfrom pyecharts.charts import Polar
2. 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)
上述代码是一个函数的定义,其中给每行代码添加了注释。这个函数用于在图表中添加一个数据系列,具体参数和注释如下:
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. 极坐标系+折线图
以下代码将绘制一个普通极坐标系图表,其中data变量包含了一组数据,每个数据点由角度、半径和标签组成。图表将显示这些数据点,并在图表中心绘制角度轴:
from pyecharts import options as opts # 导入pyecharts的配置模块from pyecharts.charts import Polar # 导入极坐标系图表模块data = [ (10, 50, "A"), # 数据点1,包含极径、极角和标签 (20, 60, "B"), # 数据点2,包含极径、极角和标签 (30, 70, "C"), # 数据点3,包含极径、极角和标签 (40, 80, "D"), # 数据点4,包含极径、极角和标签 (50, 90, "E"), # 数据点5,包含极径、极角和标签]c = ( Polar() # 创建一个极坐标系图表对象 .add_schema(angleaxis_opts=opts.AngleAxisOpts(data=data, type_="value")) # 设置角度轴参数 .add("data", data) # 添加数据系列 .set_global_opts(title_opts=opts.TitleOpts(title="极坐标系+折线图")) # 设置全局参数,如标题)c.render("极坐标系+折线图.html") # 将图表渲染为HTML文件c.render_notebook() # 在Notebook中显示图表
运行结果:
2. 极坐标系+散点图
以下代码将绘制一个极坐标系与散点图相结合的图表,其中data变量包含了一组数据,每个数据点由极径和极角组成。图表将在极坐标系上绘制这些数据点,以散点图的形式展示:
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文件c.render_notebook() # 在Notebook中显示图表
运行结果:
3. 极坐标系+涟漪散点图
涟漪散点图和普通散点图的区别在于type_="effectScatter"
,然后再.add()方法添加effect_opts=opts.EffectOpts(scale=10, period=5)
设置涟漪散点图的类型和特效参数:
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文件c.render_notebook() # 在Notebook中显示图表
运行结果:
4. 极坐标系+饼图
以下代码是绘制极坐标系与饼图相结合的示例代码,给每行代码添加了注释。这段代码的功能是创建一个极坐标系图表对象,使用.add_schema()
方法设置角度轴的参数,使用.add()
方法添加多个数据系列,每个数据系列都是柱状图类型,并设置堆叠分组。我们还使用了Faker模块生成了一个虚假的星期数据,作为角度轴的数据。最后使用.set_global_opts()
方法设置图表的标题等全局参数。
from pyecharts import options as opts # 导入pyecharts的配置模块from pyecharts.charts import Polar # 导入极坐标系图表模块from pyecharts.faker import Faker # 导入Faker模块,用于生成虚假数据c = ( Polar() # 创建一个极坐标系图表对象 .add_schema(angleaxis_opts=opts.AngleAxisOpts(data=Faker.week, type_="category")) # 设置角度轴的参数 .add("A", [1, 2, 3, 4, 3, 5, 1], type_="bar", stack="stack0") # 添加数据系列A,设置柱状图的类型和堆叠分组 .add("B", [2, 4, 6, 1, 2, 3, 1], type_="bar", stack="stack0") # 添加数据系列B,设置柱状图的类型和堆叠分组 .add("C", [1, 2, 3, 4, 1, 2, 5], type_="bar", stack="stack0") # 添加数据系列C,设置柱状图的类型和堆叠分组 .set_global_opts(title_opts=opts.TitleOpts(title="极坐标系+饼图")) # 设置全局参数,如标题)c.render("极坐标系+饼图.html") # 将图表渲染为HTML文件c.render_notebook() # 在Notebook中显示图表
运行结果:
5. 极坐标系+柱状图
以下代码是绘制极坐标系与柱状图相结合的示例代码,给每行代码添加了注释。这段代码的功能是创建一个极坐标系图表对象,使用.add_schema()
方法设置半径轴和角度轴的参数,半径轴使用Faker.week生成星期数据作为数据,角度轴设置逆时针方向和最大值为10。然后使用.add()
方法添加柱状图的数据系列,并设置柱状图的类型为"bar"。接着使用.set_global_opts()
方法设置图表的标题等全局参数,使用.set_series_opts()
方法设置数据系列的标签参数,显示标签。
from pyecharts import options as opts # 导入pyecharts的配置模块from pyecharts.charts import Polar # 导入极坐标系图表模块from pyecharts.faker import Faker # 导入Faker模块,用于生成虚假数据c = ( Polar() # 创建一个极坐标系图表对象 .add_schema( radiusaxis_opts=opts.RadiusAxisOpts(data=Faker.week, type_="category"), # 设置半径轴的参数,使用Faker.week生成星期数据作为半径轴的数据 angleaxis_opts=opts.AngleAxisOpts(is_clockwise=True, max_=10), # 设置角度轴的参数,设置逆时针方向和最大值为10 ) .add("A", [1, 2, 3, 4, 3, 5, 1], type_="bar") # 添加数据系列A,绘制柱状图 .set_global_opts(title_opts=opts.TitleOpts(title="极坐标系+柱状图")) # 设置全局参数,如标题 .set_series_opts(label_opts=opts.LabelOpts(is_show=True)) # 设置数据系列的标签参数,显示标签)c.render("极坐标系+柱状图.html") # 将图表渲染为HTML文件c.render_notebook() # 在Notebook中显示图表
运行结果:
书籍推荐(包邮送书)
《深度学习计算机视觉》
计算机视觉有多先进?开一开特斯拉就知道了。深度学习技术已在人脸识别、交互式仿真和医学成像方面取得令人兴奋的突破,但最让人心潮澎湃的当属自动驾驶技术。如今,自动驾驶的汽车已经能在高速路上畅意驰骋并对各种复杂路况做出灵活反应了。
计算机如何“理解”它所“看到”的东西?本书试图将深度学习应用于计算机视觉以回答该问题。本书仅用高中代数知识阐明视觉直觉背后的概念。你将了解如何使用深度学习架构来构建视觉系统应用程序,以实现图像生成和人脸识别功能。
主要内容:
●图像分类和目标检测
●先进的深度学习架构
●迁移学习与生成对抗网络
●DeepDream和神经风格迁移
●视觉嵌入和图像搜索
抽奖送书老规矩(不点赞收藏中奖无效):注意记得关注博主不然中奖了还不知道!!!
- 1. 点赞收藏文章
- 2. 评论区留言:人生苦短,我用Python!!!(留言才能进入奖池,每人最多留言三条)
- 3. 周六八点爬虫抽奖5人
来源地址:https://blog.csdn.net/yuan2019035055/article/details/133975276
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341