簡體   English   中英

極坐標中的 Matplotlib 密度圖?

[英]Matplotlib density plot in polar coordinates?

我有一個保存為 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)

在此處輸入圖片說明

本質上是極軸上的填充等高線圖。 您可以使用cmap=...指定替代顏色圖。 cm.jet從藍色變為紅色,紅色是最大值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM