簡體   English   中英

如何在matplotlib中創建徑向熱圖?

[英]How do I create radial heatmap in matplotlib?

我可以像這樣在ggplot2中獲得徑向熱圖 在此處輸入圖片說明

如何使用matplotlib獲得相同的信息?

這是df和可視化的示例,而不是用於使用ggplot2創建徑向熱圖的數據。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(np.random.uniform(-1, 1, (24,12)))
df.columns = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
sns.heatmap(df, cmap = "coolwarm", cbar = False)

編輯:我的數據的尺寸與我提供的示例df相同。 我想畫同樣的圖。

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

fig = plt.figure()
ax = Axes3D(fig)

n = 12
m = 24
rad = np.linspace(0, 10, m)
a = np.linspace(0, 2 * np.pi, n)
r, th = np.meshgrid(rad, a)

z = np.random.uniform(-1, 1, (n,m))
plt.subplot(projection="polar")

plt.pcolormesh(th, r, z, cmap = 'inferno')

plt.plot(a, r, ls='none', color = 'k') 
plt.grid()
plt.colorbar()
plt.savefig('a.png')
plt.show()

在此處輸入圖片說明

我會用極地。

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D


fig = plt.figure()
ax = Axes3D(fig)

n= 12
rad = np.linspace(0, 10, n)
a = np.linspace(0, 2 * np.pi, n)
r, th = np.meshgrid(rad, a)

z = np.random.rand(n,n)
plt.subplot(projection="polar")

plt.pcolormesh(th, r, z)

plt.plot(a, r, color='k', ls='none',cmap = 'binary') 
plt.grid()
plt.colorbar()
plt.show()

在此處輸入圖片說明

暫無
暫無

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

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