提问人:Georges Leukic 提问时间:2/27/2023 最后编辑:vimuthGeorges Leukic 更新时间:2/27/2023 访问量:82
螺旋波 2D 极热图预彩色网格
Spiral wave 2D polar heatmap pcolormesh
问:
我想在极坐标中正确绘制螺旋波的热图(硬编码函数)。螺旋相当于对数螺旋。之所以会出现这个问题,是因为螺旋不是极角的周期函数,而且我们使用的是网格,而不是简单的二维线。我想保留螺旋的内部部分,例如从 -2pi 到 4pi,它总是被最后一个 2*pi 区间覆盖。
简单地用类似于黄金螺旋的多个部分来修补整个图案是否不可避免?下面是最小的工作示例。
另见图片
import numpy as np
import matplotlib.pyplot as plt
G = 6.674E-11
pc = 3.0857E16
year = 365.2422*24*3600
def velmap(r, phi, x0, x1, x2, x3):
A = 2*np.pi*G*pc*1e-3
B = year/pc
C = 1e3/(2*np.pi*G*pc)
v = np.sqrt(0.5*(x0*r)**2 + np.divide(A*x1*x2*r,
np.cosh((B*x3 + 2**-0.5*phi/x0)*x0*x2 - C*(x0**2*x2/x1*r))))
return v
popt = [9.18905547e+00, 1.40100594e-01, 3.20514383e+00, 3.94920210e+07]
nmap=200
r_plot = np.linspace(0, 200, nmap)
phi_plot = np.linspace(-2*np.pi, 4*np.pi, nmap)
r_grid, phi_grid = np.meshgrid(r_plot, phi_plot)
v_grid = velmap(r_grid, phi_grid, *popt)
print(popt)
plt.subplot(projection="polar")
plt.pcolormesh(phi_grid, r_grid, v_grid, shading='auto')
plt.colorbar()
plt.plot(phi_plot, r_plot, color='k', ls='none')
plt.show()
我不确定如何正确应用颜色图,欢迎任何想法。
答: 暂无答案
上一个:如何制作穿过特定点的螺旋
下一个:如何找到螺旋运动的中值轨迹?
评论