标签: polar-coordinates

SVG极地渐变

我是SVG的初学者,但我想学习一些技巧.

简而言之,是否有一种简单的方法来创建这样的东西?

一个普通的旋转器

我正在考虑创建一个极性渐变然后剪切它:

极地渐变

但是如何生成极性梯度?

即使没有原生方法,也许可以用简单的线性渐变进行,然后使用一些矩形极坐标变换.有办法吗?

svg gradient polar-coordinates

5
推荐指数
1
解决办法
2325
查看次数

matplotlib结合了极地和笛卡尔网格数据

如何在图上组合网格化极坐标和笛卡尔坐标数据?

重要的是要注意轴的起点和比例必须匹配.

在我的应用中,我想将天气雷达数据(极地)与高程数据(笛卡尔)结合起来.

这是出发点:

在此输入图像描述

python matplotlib layer polar-coordinates

5
推荐指数
2
解决办法
5207
查看次数

极性到矩形和背面

我有点卡住了。我正在尝试实现基本的极坐标到矩形的转换,以匹配Photoshop的转换,但是我没有得到相同的结果。

从矩形转换为极性匹配与Photoshop匹配,但从极性转换为矩形却不匹配。

您可以在这张图中看到Photoshop和我的之间的区别: 极性转换

float a, b, ang, dist;
int px, py;
const PI=3.141592653589793;

// Convert from cartesian to polar
for (y=y_start; y<y_end; ++y)
{
    for (x=x_start; x<x_end; ++x)
    {
        a = (float)(x-X/2);
        b = (float)(y-Y/2);

        dist = (sqr(a*a + b*b)*2.0);

        ang = atan2(b,-a)*(58);
        ang = fmod(ang + 450.0,360.0);

        px = (int)(ang*X/360.0);
        py = (int)(dist);

        pset(x, y, 0, src(px,py,0));
        pset(x, y, 1, src(px,py,1));
        pset(x, y, 2, src(px,py,2));
    }
}

// Convert back to cartesian
for (y=y_start; y<y_end; ++y)
{
    for (x=x_start; …
Run Code Online (Sandbox Code Playgroud)

c graphics polar-coordinates

5
推荐指数
1
解决办法
1213
查看次数

如何在python的极坐标中绘制误差线?

我有以下问题:我想在python的极坐标中绘制一些数据点,这很容易,使用一些代码

import numpy as np
import matplotlib.pyplot as plt

r = 1e04 * np.array([5.31,5.29,5.25,5.19,5.09,4.92,4.67,4.27,3.75,3.56])
theta = 2*np.pi/360 * np.array(list(range(0, 100, 10)))

plt.polar(theta, r, "ro")

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

但我想添加错误栏,我找不到任何足够的解决方案.是否已经有一些prebuild matplotlib代码?或者有谁知道如何正确定义误差线?据我所知,r误差只是一条直线,而θ误差应该是一个圆的一部分.

python matplotlib polar-coordinates

5
推荐指数
1
解决办法
2494
查看次数

为极坐标创建一个meshgrid

我想使用以下数组为极坐标创建网格.

R = 1.15
r = numpy.linspace(R,5,100)
theta = numpy.linspace(0,2*numpy.pi,145)
Run Code Online (Sandbox Code Playgroud)

我试过这种方式,使用numpy:

X,Y=numpy.meshgrid(r*numpy.cos(theta),r*numpy.sin(theta))
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误:

ValueError: operands could not be broadcast together with shapes (100,) (145,) 
Run Code Online (Sandbox Code Playgroud)

如何生成网格并显示点?

python plot numpy polar-coordinates

5
推荐指数
1
解决办法
8175
查看次数

如何将JS中的笛卡尔坐标转换为极坐标?

我需要使用笛卡尔坐标中的X和Y来知道极坐标中的旋转角度.

如何在没有大量IF语句的情况下在JS中执行此操作?我知道我可以使用它这个系统,

但我认为这对性能有害,因为它处于动画循环中.

javascript math polar-coordinates cartesian-coordinates

5
推荐指数
1
解决办法
4062
查看次数

加入极线ggplot图中的间隙

当ggplot使用极坐标绘制线图时,它会在最高和最低x值(DecJan以下)之间留下间隙,而不是缠绕成螺旋线.我怎样才能继续这条线并缩小差距?

特别是,我想使用月份作为我的x轴,但在一个循环线中绘制多年的数据.

Reprex:

library(ggplot2)

# three years of monthly data
df <- expand.grid(month = month.abb, year = 2014:2016)
df$value <- seq_along(df$year)

head(df)
##   month year value
## 1   Jan 2014     1
## 2   Feb 2014     2
## 3   Mar 2014     3
## 4   Apr 2014     4
## 5   May 2014     5
## 6   Jun 2014     6

ggplot(df, aes(month, value, group = year)) + 
    geom_line() + 
    coord_polar()
Run Code Online (Sandbox Code Playgroud)

带有间隙的螺旋图

plot r ggplot2 polar-coordinates

5
推荐指数
1
解决办法
694
查看次数

使用 matplolib 绘制年度数据的极坐标图

我试图在 matplotlib 中将一整年的数据绘制为极坐标图,但无法找到任何此类示例。我设法根据这个线程转换了熊猫的日期,但我无法将我的头围绕(几乎)y 轴或 theta。

这是我走了多远:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import pandas as pd

times = pd.date_range("01/01/2016", "12/31/2016")
rand_nums = np.random.rand(len(times),1)
df = pd.DataFrame(index=times, data=rand_nums, columns=['A'])

ax = plt.subplot(projection='polar')
ax.set_theta_direction(-1)
ax.set_theta_zero_location("N")
ax.plot(mdates.date2num(df.index.to_pydatetime()), df['A'])
plt.show()
Run Code Online (Sandbox Code Playgroud)

这给了我这个情节:

这个情节

减少日期范围以了解发生了什么
times = pd.date_range("01/01/2016", "01/05/2016")我得到了这个图:

这个情节

我认为该系列的开头在 90 到 135 之间,但是我如何“重新映射”它以便我的年份日期范围在北原点开始和结束?

python time-series matplotlib polar-coordinates

5
推荐指数
1
解决办法
1628
查看次数

matplotlib FuncAnimation 清晰地绘制每个重复周期

下面的代码有效,但我认为每个重复周期都会过度绘制原始点。我希望它从原点开始,每个重复循环,有一个清晰的情节。在许多解决此问题的方法中,我尝试在 init 和 update 函数中插入 ax.clear();没有效果。我在代码中留下了我认为会重置 ln,艺术家的内容;同样,这不是我正在寻找的解决方案。我会很感激在这个玩具示例中重新启动每个循环的正确方法是什么的一些指导,以便在应用于我更复杂的问题时,我不会招致累积处罚。如果传递数组,这在刷新方面效果很好......感谢您的帮助。

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation, writers
#from basic_units import radians
# # Set up formatting for the movie files
# Writer = writers['ffmpeg']
# writer = Writer(fps=20, metadata=dict(artist='Llew'), bitrate=1800)

#Polar stuff
fig = plt.figure(figsize=(10,8))
ax = plt.subplot(111,polar=True)
ax.set_title("A line plot on a polar axis", va='bottom')
ax.set_rticks([0.5, 1, 1.5, 2])  # fewer radial ticks
ax.set_facecolor(plt.cm.gray(.95))
ax.grid(True)
xT=plt.xticks()[0]
xL=['0',r'$\frac{\pi}{4}$',r'$\frac{\pi}{2}$',r'$\frac{3\pi}{4}$',\
    r'$\pi$',r'$\frac{5\pi}{4}$',r'$\frac{3\pi}{2}$',r'$\frac{7\pi}{4}$']
plt.xticks(xT, xL)
r = []
theta = [] …
Run Code Online (Sandbox Code Playgroud)

animation matplotlib polar-coordinates

5
推荐指数
1
解决办法
6567
查看次数

如何在极坐标图中用平滑线连接点?

这是我的代码:

from matplotlib import pyplot as plt

dec = pd.read_csv('POLAR.txt', sep="    ", header=None, skiprows=1)

ra = [0,30,60,90,120,150,180,210,240,270,300,330] 
ra = [x/180.0*np.pi for x in ra]

ax = plt.subplot(111, projection='polar')
plt.polar(ra, dec, 'ok')
plt.plot(ra,dec, data=ra , marker='o', color='olive', linewidth=2)
ax.set_yticklabels([]) 
Run Code Online (Sandbox Code Playgroud)

我仍然不确定如何连接最后一点和第一点。这就是我得到的:

在此输入图像描述

我想知道如何用曲线连接这些点?有没有办法得到这个花生形图的方程?

python matplotlib scatter-plot smoothing polar-coordinates

5
推荐指数
0
解决办法
1395
查看次数