如何在 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 相同。我想绘制相同的。
我会用 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()
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()
我可以像这样在 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()
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()