matplotlib:使用度数参数在极坐标系内绘制散点图

Posted

技术标签:

【中文标题】matplotlib:使用度数参数在极坐标系内绘制散点图【英文标题】:matplotlib: drawing Scatter graph inside polar coordinate system with degree parameter 【发布时间】:2019-04-29 12:37:58 【问题描述】:

我正在构建具有四个称重传感器的系统。我想将数据绘制到极坐标系,以单点(散点图)呈现。

每个称重传感器应呈现在圆的 1/4 部分(90 度)内。 在我想显示公斤的圆圈上。如果每个称重传感器的重量相同,则点(散点)应位于中心并显示为 0,这意味着所有称重传感器的负载相同。如果不是(单个单元格上的负载更多),点应该移动到圆圈的那部分并显示公斤数。我想用两个参数表示散点,公斤和度(0-360)。

我能够以我想要的方式绘制千克,但度参数绘制不正确。

import matplotlib.pyplot as plt

degrees = 0
kilograms = 15

ax = plt.subplot(polar=True)

ax.scatter(degrees, kilograms)

ax.set_theta_zero_location('N')

ax.set_rticks([10, 20])  # less radial ticks
ax.set_rmax(30)

plt.show()

我知道极坐标系与笛卡尔坐标系不同。无论如何,是否可以将 scatter 参数输入为度数,将其呈现在极坐标图圆的特定部分?

ax.scatter(45, 20)  # degrees, kilograms

【问题讨论】:

【参考方案1】:

我认为您的问题来自 degree 变量,您用于 theta,以度数而不是弧度为单位。试试:

import numpy as np

ax.scatter(np.deg2rad(degree), kilograms)

它应该正确绘制

【讨论】:

这正是我所需要的!非常感谢! =)

以上是关于matplotlib:使用度数参数在极坐标系内绘制散点图的主要内容,如果未能解决你的问题,请参考以下文章

Matplotlib 3D小红花的绘制原理

Matplotlib 3D小红花的绘制原理

matplotlib绘制柱状图时,控制间距

在 python matplotlib 中绘制 (x, y) 坐标列表

使用Matplotlib绘制数据图

如何在 matplotlib 谱图的横坐标上绘制时间?