当前位置: 首页 > 知识库问答 >
问题:

极坐标图在matplotlib中给出了错误的角度

司徒志
2023-03-14

我试图绘制一个右扬升-赤纬,Python中的极地图,其中角度表示右扬升,半径赤纬,范围在±30之间。

我的代码是

import numpy
import matplotlib.pyplot as pyplot

ra = [345.389547454166689,31.892236646759279,45.893722479722229,93.955296573703706,160.079453957685217,211.154701609814822,256.486559377222193,307.258751710462889,299.691923545370344,340.364168244814834,335.077343971296386,358.126565808425880]
dec = [23.835021447037050,25.218513920000003,27.509148433518519,26.551432991388879,-25.077519630833340,-20.134061982500004,-21.042512836851849,-4.903512838240742,-0.506450475370370,14.280932901944448,19.222101837500002,18.792707990925926]   

fig = pyplot.figure()
ax = fig.add_axes([0.1,0.1,0.8,0.8],polar=True)
ax.set_ylim(-30,30)
ax.set_yticks(numpy.arange(-30,30,10))
ax.scatter(ra,dec,c ='r')


pyplot.show()    

很明显,我误解了极坐标图的工作原理,因为RA与θ=0的角度圆不对应。例如,我的一个点的RA=45.89度,但似乎没有一个点与此对应。

对我做错了什么有什么建议吗?

共有1个答案

艾哲
2023-03-14

绘图需要弧度。添加以下行并重新绘制正确显示:

ra  = [x/180.0*3.141593 for x in ra]
 类似资料:
  • 我的极坐标图是什么样子的 我试图移动ytick标签,使它们与轴标签类似地对齐。例如,'PTS'标签水平对齐到其轴,但ytick标签向右移动。 对于y值标签,我使用set_rgrids()函数指定角度和标签值,并使用tick_params()函数指定标签属性,如旋转。但是,此函数不允许我设置标签的文本框对齐。 如何将y值向左移动,使其直接位于相应的轴标签下? 完整代码:

  • 我试图绘制一个形状文件作为点Folium地图,但拉我的头发试图得到正确的投影。该数据是在EPSG: 28992系统,RD新坐标系。这是一个投影坐标系,因此它给出了米的坐标。要在folium贴图上绘制此图,我需要将其转换为EPSG: 3857,如果我是正确的,它可以与度数一起工作。不幸的是,我得到了完整的废话后,转换它与函数。 首先,我加载数据: 显示以下内容: 这是正确的。它还具有正确的CRS,如

  • 我试图写一个函数,它以笛卡尔坐标系中的x和y值作为输入,并输出极坐标和三角坐标形式。我希望输出包含指数和正弦/余弦,而不是实际值。例如,如果笛卡尔函数是z=1i,我希望函数输出z=sqrt(2)e^(ipi/4)和z=sqrt(2)(cos(pi/4)Isin(pi/4)。我该怎么做? 函数坐标(x, y) r=sqrt(x.^2 y.^2); θ=atan(y./x); Polarcoord=r

  • 问题内容: 以下python代码应在[-pi / 2,pi / 2]范围内绘制r(theta)= theta。 生成图: 但是,我希望它会产生: r(θ)的负值似乎已被裁剪。如何使matplotlib绘制r(theta)的负值? 问题答案: 第一个情节似乎是正确的。它只是不显示负值。可以通过明确设置r轴的极限来克服此问题。 此行为基于以下假设:任何数量都应可绘制在极坐标图上,这可能对有关相对数量的

  • 我在将图像转换为极坐标时遇到问题。在Photoshop中很容易:)所以这对我来说是一个新领域。 我有以下图片: 结果应该是这样的: 我在这里看了一下,了解了一些基本知识,但仍然对圆的平方有点困惑: 我几乎不知道如何重新绘制图像。还有一个警告:由于管理限制,我想避免使用像Numpy这样的外部库。

  • 编辑:我决定把这个问题分成两部分,因为它实际上是两个问题:1。如何在MATLAB中绘制极曲面图(本问题)和2。如何将拟合极坐标数据点放入粗略(非极坐标)矩阵 我有一个包含某些灰色值(介于0和1之间的值)的矩阵。这些点存储在一个矩形矩阵中,但实际上数据点是通过旋转探测器获得的。这意味着我实际上有极坐标(我知道起始矩阵中每个像素的极坐标)。 我想制作一个数据点的极线图。我有下面的例子。 因为MATLA