标签: polar-coordinates

旋转MATLAB的极坐标图?

我正在尝试使用MATLAB命令polar,它似乎从右侧0度开始,角度沿逆时针方向增加.

然而,我想做的是,它会改变这一点,以便极坐标系统从0度开始为"北",并且角度以顺时针方向增加.

有一个简单的方法吗?

编辑:我希望MATLAB 显示极坐标图,其中0从北方开始,角度以顺时针方式增加.

matlab plot polar-coordinates

3
推荐指数
1
解决办法
4012
查看次数

如何在Matplotlib中的极轴上使用对数刻度

我正在尝试创建一个在径向轴上具有对数刻度的极坐标图,但是我一直遇到错误。下面是一些示例代码和错误。在笛卡尔坐标系中似乎工作正常,有人知道发生了什么吗?

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.cm as cm

bazbins = np.linspace(0, 2*np.pi, 360)
fbins = np.logspace(np.log10(0.05), np.log10(0.5), 101)
theta, r = np.meshgrid(bazbins, fbins) 

# Set up plot window
fig, ax = plt.subplots(figsize=(12,9))#, subplot_kw=dict(projection='polar'))

# polar
ax.set_theta_zero_location('N')
ax.set_theta_direction(-1)
ax.set_rscale('log')

# carthesia
#ax.set_yscale('log')

# Plot data
#ax.pcolormesh(theta, r, r)
plt.gca().invert_yaxis()
ax.contourf(theta, r, r)
ax.set_ylim((0.0, 0.5))
plt.show()
Run Code Online (Sandbox Code Playgroud)

Tkinter回调中的异常:

Traceback (most recent call last):
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1413, in __call__
    return self.func(*args)
  File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py", line 236, in resize
    self.show() …
Run Code Online (Sandbox Code Playgroud)

python matplotlib polar-coordinates

3
推荐指数
2
解决办法
5492
查看次数

标签的旋转遵循ggplot2中的x轴,极坐标投影?

如何使用ggplot中的coor_polar投影,x轴标签的角度与外部x轴的角度相同?这类似于在使用coord_polar()时在ggplot2中旋转x轴文本,但我不太了解数学以适应它.我在这种工作下面找到了一个试错法,其中angle = c(c(1:3)*c(-14,-22.3,-22),-90,c(3:1)*c(22,22.3,14),c(1:3)*c(-14,-22.3,-22),90,c(3:1)*c(22,22.3,14)).x轴标签一直向同一方向旋转也是可以的.如果所有其他方法都失败了,我可能会放弃旋转标签并添加第二个图例,如两个极地ggplot的图例(一个自定义).谢谢您的帮助!

require(ggplot2)    
df.test <- data.frame(Names=c("name01", "name02", "name03", "name04", "name05", "name06",    "name07", "name08", "name09", "name10", "name11", "name12", "name13", "name14"),Values=rep(1,24))
p <- ggplot(df.test, aes(Names, fill=Values))
p + coord_polar(theta="x", direction=1) +
geom_bar(stat="bin", colour="gray", alpha=.7) +
theme(axis.text.x = element_text(angle = c(c(1:3)*c(-14,-22.3,-22),-90,c(3:1)*c(22,22.3,14),c(1:3)*c(-14,-22.3,-22),90,c(3:1)*c(22,22.3,14))))
Run Code Online (Sandbox Code Playgroud)

r ggplot2 axis-labels polar-coordinates

3
推荐指数
1
解决办法
2948
查看次数

将 3D 极坐标转换为笛卡尔坐标

我一直在对这种转换背后的数学进行大量搜索,到目前为止我能想到的最好的方法是:

x = sin(horizontal_angle) * cos(vertical_angle)
y = sin(horizontal_angle) * sin(vertical_angle)
z = cos(horizontal_angle)
Run Code Online (Sandbox Code Playgroud)

对于任意角度,这都很好。我遇到问题的地方是当其中一个旋转为 0 度时。在 0 度(或 180、或 360,或...)时,sin() 将为零,这意味着我从上述公式中得到的 x 和 y 坐标都将为零,无论其他角度如何被设置为。

有没有更好的公式,在某些角度不会混乱?到目前为止我的搜索还没有找到,但必须有一个解决方案来解决这个问题。

更新: 经过一些实验,我发现我的主要误解是我假设球坐标的极点是垂直的(就像行星上的纬度和经度),而它们实际上是水平的(投影到屏幕上)。这是因为我在屏幕空间(x/y 映射到屏幕,z 投影到屏幕)中工作,而不是传统的 3D 环境,但不知怎的,我并不认为这会成为一个影响因素。

最终的公式对我有用,使两极正确定向:

x = cos(horizontal_angle) * sin(vertical_angle)
y = cos(vertical_angle)
z = sin(horizontal_angle) * sin(vertical_angle)
Run Code Online (Sandbox Code Playgroud)

math rotation polar-coordinates cartesian-coordinates

3
推荐指数
2
解决办法
2万
查看次数

使用 matplotlib 绘制类似 Python 极地时钟的图

我正在尝试按照此答案的风格,使用 Python 中的 matplotlib 以顺时针方式绘制数据。我在绘制数据时注意到奇怪的行为;数据点具有正确的 y 值,但不会出现在正确的 x 值(即时间)处。我首先认为我的数据是错误的,但是在使用以下工作示例重新创建我的问题后,我得出的结论是错误一定在其他地方。

import numpy as np
import matplotlib.pyplot as plt     

ax = plt.subplot(111, polar=True)
equals = np.linspace(0, 360, 24, endpoint=False) #np.arange(24)
ones = np.ones(24)
ax.scatter(equals, ones)       

# Set the circumference labels
ax.set_xticks(np.linspace(0, 2*np.pi, 24, endpoint=False))
ax.set_xticklabels(range(24))      

# Make the labels go clockwise
ax.set_theta_direction(-1)       

# Place 0 at the top
ax.set_theta_offset(np.pi/2.0)       

plt.show()
Run Code Online (Sandbox Code Playgroud)

结果如下图: 在此输入图像描述

考虑到 的定义,我预计这些点的 x 值与小时数一致equals。它目前被定义为角度,但我也尝试将其定义为小时。为什么情况并非如此?如何使我的数据与相应的时间一致?

python plot matplotlib polar-coordinates

3
推荐指数
1
解决办法
3500
查看次数

在直角坐标中沿给定方向在距离上移动点

我在笛卡尔坐标系中有一个点,例如: x = 3y = 5

我想在给定方向(以度为单位)上移动一段距离后,获得该点的新坐标。

如何获得新的x和新的y?

math geometry polar-coordinates cartesian-coordinates

3
推荐指数
1
解决办法
2264
查看次数

使用极坐标在 Python 中绘制相图

我需要以下以极坐标形式给出的非线性系统的相图......

\dot{r} = 0.5*(r - r^3)
\dot{\theta} = 1

我知道如何在 Mathematica 中做到这一点...

field1 = {0.5*(r - r^3), 1};
p1 = StreamPlot[Evaluate@TransformedField["Polar" -> "Cartesian", field1, {r, \[Theta]} -> {x, y}], {x, -3, 3}, {y, -3, 3}, Axes -> True, StreamStyle -> Gray, ImageSize -> Large];
Show[p1, AxesLabel->{x,y}, ImageSize -> Large]
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如何在 Python 中使用 pyplot.quiver 执行相同操作?

python plot wolfram-mathematica matplotlib polar-coordinates

3
推荐指数
1
解决办法
1万
查看次数

Matplotlib 中的极坐标图未居中

由于某些原因,当我尝试(theta = 0, r = 0)使用以下代码进行绘图时:

import matplotlib.pyplot as plt

plt.polar(0, 0, marker='x')
plt.show()
Run Code Online (Sandbox Code Playgroud)

该点未居中:

带中心的极坐标图

我能够在我的计算机和 Repl.it 上多次重现此错误:链接

那么,我怎样才能将极坐标图居中,以便显示x在它的中心呢?

python matplotlib python-3.x polar-coordinates

2
推荐指数
1
解决办法
2801
查看次数

Python 中的 RGB 极坐标图

我正在尝试用 Python 生成 RGB 极坐标图,并且我希望matplotlib.pyplot.imshow能够做到这一点。但是,每当我尝试使用此方法绘制数据时,我都会得到空白输出。

import matplotlib.pyplot as plt
import numpy as np

data = np.array([[[0,0,1],[0,1,0],[1,0,0]],[[0,0,0.5],[0,0.5,0],[0.5,0,0]]])
# Sample, any N,M,3 data should work
ax = plt.subplot(111,polar=True)
ax.imshow(data,extent=[0,2*np.pi,0,1]) # Produces a white circle
Run Code Online (Sandbox Code Playgroud)

有没有使用上述方法或其他方法来完成此任务的好方法?

谢谢。


编辑:我设法通过使用创建了一个象限,extent=[0,np.pi/2,0,1]但它的使用显然对极坐标图有问题。因为除了完整的象限之外的任何东西都不会产生预期的结果。

python rgb matplotlib polar-coordinates imshow

2
推荐指数
1
解决办法
1740
查看次数

如何在一个图中绘制极坐标和笛卡尔子图,如图所示

我想生成一个半笛卡尔半极坐标图。例如,高斯曲线的一半采用极坐标格式,另一半采用笛卡尔格式。哪个是最好的方法?

半笛卡尔半极坐标图

我尝试过共享 y 轴,但未能成功为一个图采用两种不同类型的格式。

import matplotlib.pyplot as plt
import numpy as np

theta = np.linspace(0,(np.pi)/2)
r = np.sin(theta)

fig = plt.figure()
ax = fig.add_subplot(211, polar=True)
c = ax.scatter(theta, r, c=r, s=5, cmap='hsv', alpha=0.85)

ax.set_thetamin(0)
ax.set_thetamax(90)

ax1=fig.add_subplot(212) #, sharey='ax')
fig, (c, d) = plt.subplots(ncols=2,sharey=True)
d=ax1.scatter(theta,r)
plt.show() 
Run Code Online (Sandbox Code Playgroud)

matplotlib cartesian subplot polar-coordinates

2
推荐指数
1
解决办法
4586
查看次数