以下python代码应在[-pi / 2,pi / 2]范围内绘制r(theta)= theta。
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.savefig('polar.png')
生成图:
但是,我希望它会产生:
r(θ)的负值似乎已被裁剪。如何使matplotlib绘制r(theta)的负值?
第一个情节似乎是正确的。它只是不显示负值。可以通过明确设置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()
我的极坐标图是什么样子的 我试图移动ytick标签,使它们与轴标签类似地对齐。例如,'PTS'标签水平对齐到其轴,但ytick标签向右移动。 对于y值标签,我使用set_rgrids()函数指定角度和标签值,并使用tick_params()函数指定标签属性,如旋转。但是,此函数不允许我设置标签的文本框对齐。 如何将y值向左移动,使其直接位于相应的轴标签下? 完整代码:
我试图绘制一个右扬升-赤纬,Python中的极地图,其中角度表示右扬升,半径赤纬,范围在±30之间。 我的代码是 很明显,我误解了极坐标图的工作原理,因为RA与θ=0的角度圆不对应。例如,我的一个点的RA=45.89度,但似乎没有一个点与此对应。 对我做错了什么有什么建议吗?
我正在尝试对图像执行对数极坐标变换,以便进行图像配准。换句话说,我正在努力实现这一点:输入图像- 我需要用Java从头开始编写代码,因为我将使用OpenCL Java绑定在GPU端完成这项工作,而不能使用库。这方面有多个线程,但没有一个能真正帮助我,主要是因为它们都使用内置的MATLAB函数,我无法复制。 为了让它发挥作用,我一直在尝试Polar Transform而不是Log-Polar Tra
我在将图像转换为极坐标时遇到问题。在Photoshop中很容易:)所以这对我来说是一个新领域。 我有以下图片: 结果应该是这样的: 我在这里看了一下,了解了一些基本知识,但仍然对圆的平方有点困惑: 我几乎不知道如何重新绘制图像。还有一个警告:由于管理限制,我想避免使用像Numpy这样的外部库。
js 已知圆弧的起点坐标、终点坐标、半径,圆心坐标,如何计算弧线上的坐标? js 已知圆弧的起点坐标、终点坐标、半径,圆心坐标,如何计算弧线上的坐标?
我想知道是否有人帮助我理解如何将顶部图像转换为底部图像。以下链接中提供了这些图像。顶部图像采用笛卡尔坐标。底部图像是极坐标中的转换图像