您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用matplotlib的负半径函数的极坐标图

使用matplotlib的负半径函数的极坐标图

一个情节似乎是正确的。它只是不显示负值。可以通过明确设置r轴的极限来克服此问题。

import matplotlib.pyplot as plt
import numpy

theta = numpy.linspace(-numpy.pi / 2, numpy.pi / 2, 64 + 1)
r = theta

plt.polar(theta, r)
plt.ylim(theta.min(),theta.max())
plt.yticks([-1, 0,1])
plt.show()

在此处输入图片说明

此行为基于以下假设:任何数量都应可绘制在极坐标图上,这可能对有关相对数量的技术问题有所帮助。例如,您可能会问周期系统中某个量与其平均值的偏差。在这种情况下,matplotlib使用的约定非常适合。

从更数学(理论)的角度来看,人们可能会认为负半径是原点上的点反射。为了复制这种行为,需要将负值的点旋转rπ。因此,可以通过以下代码重现问题的预期图形

import matplotlib.pyplot as plt
import numpy as np

theta = np.linspace(-np.pi / 2, np.pi / 2, 64 + 1)
r = theta

plt.polar(theta+(r<0)*np.pi, np.abs(r))

plt.show()

在此处输入图片说明

其他 2022/1/1 18:25:55 有542人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶