python - 极坐标中的 Matplotlib 密度图?

标签 python arrays matplotlib plot density-plot

我有一个保存为 txt 文件的数组,其中的条目对应于极坐标中的分布值。所以它看起来像这样:

  f(r1,theta1) f(r1, theta2) ..... f(r1, theta_max)
  f(r2,theta1) f(r2, theta2) .....        .
        .                                 .
        .                                 .
        .                                 .
  f(r_max,theta1) .................f(r_max, theta_max)

我想绘制 f 的密度图(f 越高,我希望颜色越红)。有没有办法用 matplotlib 做到这一点?显式代码会有所帮助,因为我对此很陌生。

最佳答案

在此示例中,a 是您的 theta1...thetan,b 是您的 r1...rn,c 是您的 f (a, b):

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

#fake data:
a = np.linspace(0,2*np.pi,50)
b = np.linspace(0,1,50)
A, B = np.meshgrid(a, b)
c = np.random.random(A.shape)

#actual plotting
ax = plt.subplot(111, polar=True)
ax.set_yticklabels([])
ctf = ax.contourf(a, b, c, cmap=cm.jet)
plt.colorbar(ctf)

enter image description here

本质上是极轴上的填充等高线图。 您可以使用 cmap=... 指定替代颜色图。 cm.jet 从蓝色变为红色,红色为最大值。

关于python - 极坐标中的 Matplotlib 密度图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31051882/

相关文章:

python - 如果文件与另一个文件夹匹配,如何返回 1 个文件夹中的所有文件名?

python - ssh:发送包含 RETURN 的 tmux 命令

java - 数组边界检查可以静态执行吗?

c++ - 如何将 16 位值数组转换为 base64?

python - 如何删除 Pandas 中的图例

python - 这个很热吗

python - python 脚本中的数学语法错误

javascript - 具有多个数组映射的 JQuery 数组

python - 理解(并查找)matplotlib 源代码

python - Power BI 数据框表格可视化