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

2024-05-28 19:27:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以像这样得到ggplot2中的径向热图enter image description here

如何使用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)

编辑:我的数据维度与我提供的示例数据框相同。我也想要同样的情节。在


Tags: 数据importnumpy示例pandasdfmatplotlib可视化
2条回答

我会用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()

enter image description here

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

enter image description here

相关问题 更多 >

    热门问题