Python 如何在matplotlib中创建径向热图?

Python 如何在matplotlib中创建径向热图?,python,matplotlib,heatmap,Python,Matplotlib,Heatmap,我可以像这样得到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', '

我可以像这样得到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相同。我想绘制相同的图形。

我会使用polar

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()


您能解释一下您的代码吗?你能用我提供的示例数据框说明同样的事情吗?当然。首先,需要三个变量。径向(rad)、角度(a)和热量(z)值。我为rad和a做了100个变量。然后我使用np.mesh将它们放入网格网格,最后我将热值作为随机变量添加。你也可以更改颜色并添加颜色栏。你能看到图像吗?我能看到图像。你能用我的数据框复制它吗?我尝试用相同的代码替换
z=np.random.uniform(-1,1,(24,12))
,但没有效果。欢迎使用。很乐意帮忙。尺寸在pythonJust中非常重要。一些次要的东西,编辑绘图的剩余部分-标签、轴标记等-与其他matplotlib绘图相同,对吗?是的,请随时提问。
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()