当前位置: 首页 > news >正文

使用Matplotlib绘制极轴散点图

散点图对于理解数据可视化中变量之间的相互作用至关重要。虽然散点图经常在笛卡尔坐标中创建,但我们也可以使用Matplotlib在极轴上创建散点图。有了这个功能,人们可以以创新的方式查看圆形或角形数据,例如周期性趋势或定向模式。在本文中,我们将介绍在Python中使用Matplotlib在极轴上绘制散点图的概念,包括如何创建它们,可视化它们和自定义它们。

极轴上的散点图

极坐标通过它们与参考点(原点)的距离以及与参考轴(通常为正x轴)形成的角度来表示平面中的点,与笛卡尔坐标相反,笛卡尔坐标使用x和y轴。

让我们考虑一个简单的例子,其中我们有一个包含方向数据的数据集,例如不同时间的风向。我们希望在极坐标图上将这些数据可视化为散点。

在极轴上可视化散点图

import matplotlib.pyplot as plt
import numpy as np# Generating sample data
theta = np.linspace(0, 2*np.pi, 100)
r = np.random.rand(100) # Random radius values
colors = np.random.rand(100) # Random colors# Creating the polar scatter plot
plt.figure(figsize=(8, 8))
ax = plt.subplot(111, polar=True)
ax.scatter(theta, r, c=colors, s=100, cmap='hsv', alpha=0.75)plt.title('Scatter Plot on Polar Axis', fontsize=15)
plt.show()
  • 这段代码使用np.linspace创建了一个由100个等距角度组成的数组,这些角度在0到2π之间(整圆)。
  • 这些角度表示极轴上数据点的位置。
  • r使用np.random.rand生成一个0到1之间的100个随机数的数组,表示数据点沿径向轴距原点的距离。

在这里插入图片描述
数据点围绕极轴相当均匀地分散。θ值对应于点的角度,r值对应于点到原点的距离。距离原点较近的点用蓝色表示,而距离原点较远的点用红色表示。

极轴上的散点图,偏移原点

# Create the polar scatter plot with offset origin
plt.figure(figsize=(8, 8))
ax = plt.subplot(111, polar=True, theta_offset=np.pi/4)  # Offset origin by pi/4
ax.scatter(theta, r, c=colors, s=100, cmap='hsv', alpha=0.75)plt.title('Scatter Plot on Polar Axis with Offset Origin', fontsize=15)
plt.show()
  • 极轴上的散点图以圆形方式显示数据点。
  • 偏移原点np.pi/4会移动绘图的起点,从而提供不同的参考。

在这里插入图片描述
使用极坐标绘制数据,其中每个点由角度(theta)和半径(r)表示。

  • 图的原点偏移π/4弧度,这意味着零角度位于极轴上的45度标记处。
  • 数据点由不同大小的彩色圆圈表示。
  • 每个点的颜色由其色调、饱和度和值(HSV颜色模型)确定。
  • 每个点的大小设置为100,透明度设置为0.75。

极轴上局限于扇形的散点图

# Create the polar scatter plot confined to a sector
plt.figure(figsize=(8, 8))
ax = plt.subplot(111, polar=True)
ax.scatter(theta, r, c=colors, s=100, cmap='hsv', alpha=0.75)# Confine scatter plot to a sector
ax.set_thetamin(45) # Minimum theta angle
ax.set_thetamax(135) # Maximum theta angleplt.title('Scatter Plot on Polar Axis Confined to a Sector', fontsize=15)
plt.show()
  • 此代码创建极散点图并将其限制在指定的扇区(45到135度)。
  • set_thetamin和set_thetamax函数控制散点图的角度范围,提供指定扇区内的聚焦视图。

在这里插入图片描述

  • 数据点根据色调饱和度值(HSV)色图着色,即每个点的颜色对应于其角度(theta)值。数据点的大小也是变化的,较大的点对应于较大的r值。
  • 该图被限制在45度和135度之间的扇区,因为数据仅与该角度范围相关。

总结

总之,学习如何在Python中使用Matplotlib在极轴上绘制散点图,为显示方向或圆形数据模式提供了一种革命性的方法。

http://www.lryc.cn/news/465385.html

相关文章:

  • Elasticsearch入门:增删改查详解与实用场景
  • 【AI论文精读6】SELF-RAG(23.10)附录
  • sql-labs靶场第十七关测试报告
  • 面试官:MySQL一次到底插入多少条数据合适啊?
  • WSL2 构建Ubuntu系统-轻量级AI运行环境
  • 什么是凸二次规划问题
  • 解决 Elasticsearch cluster_block_exception 错误的终极指南
  • QT sql驱动错误QMYSQL driver not loaded
  • 数据驱动,漫途能耗管理系统打造高效节能新生态!
  • PH47代码框架软件二次开发极简教程
  • SQL Server-导入和导出excel数据-注意事项
  • Linux系统:配置Apache支持CGI(Ubuntu)
  • qt 序列化和反序列化
  • java实现文件变动监听
  • Maven的使用
  • C++开发进阶1:C++编程命名规范
  • Android 图片相识度比较(pHash)
  • Gitlab 完全卸载–亲测可行
  • gitlab操作和管理
  • ctfshow-web入门-反序列化(web254-web258)
  • repo 命令大全详解(第十一篇 repo init)
  • ComfyUI | 全新ComfyUI前端操作指南:提升你的工作速度!
  • nginx解决非人类使用http打开的443,解决网安漏扫时误扫443端口带来的问题
  • 黑马 | Reids | 基础篇
  • SAP-换登录界面图片
  • 移动 Web核心笔记(二)
  • MySQL创建和管理表
  • 【从零开始的LeetCode-算法】910. 最小差值 II
  • 周报 | 24.10.14-24.10.20文章汇总
  • Codeforce 980 Div2 A-D 题解