for
i
in
range
(
6
)
:
img
=
np
.
random
.
random
(
[
7
,
7
]
)
im
=
ax
[
i
]
.
imshow
(
img
)
fig
.
colorbar
(
im
,
ax
=
[
ax
[
i
]
for
i
in
range
(
6
)
]
,
fraction
=
0.02
,
pad
=
0.05
)
plt
.
savefig
(
'test.png'
,
bbox_inches
=
'tight'
)
plt
.
show
(
)
研究了半天才整明白,直接上代码:import matplotlib.pyplot as pltimport numpy as npfig, ax = plt.subplots(2, 3)ax = ax.flatten()np.random.seed(0)for i in range(6): img = np.random.random([7, 7]) im = ax[i].imshow(img)fig.colorbar(im, ax=[ax[i] for i in ran
多张三维图
共用
一个
colorbar
一张三维图多张三维图
一张三维图
绘制一张三维图,大概步骤是:导入相关库;生成三维图框,对X,Y数据进行统一网格化,绘制图形,添加
colorbar
,
设置
图形其他参数(如坐标轴,刻度范围,图形像素及大小),显示图形。
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
from matplotlib import cm
import matplotlib
import numpy as
颜色的选择:
'Accent', 'Accent_r', 'Blues', 'Blues_r', 'BrBG', 'BrBG_r', 'BuGn', 'BuGn_r', 'BuPu',
'BuPu_r', 'CMRmap', 'CMRmap_r', 'Dark2', 'Dark2_r', 'GnBu', 'GnBu
dataset1 = np.random.randint(0, 50, size=(10, 10))
dataset2 = np.random.randint(50, 100, size=(10, 10))
vmin = min(np.mi
# 创建第一个
子图
ax1 = fig.add_subplot(121, projection='3d')
x1, y1, z1 = axes3d.get_test_data(0.05)
c1 = ax1.plot_surface(x1, y1, z1, cmap='jet')
# 创建第二个
子图
ax2 = fig.add_subplot(122, projection='3d')
x2, y2, z2 = axes3d.get_test_data(0.1)
c2 = ax2.plot_wireframe(x2, y2, z2, cmap='jet')
# 创建共享的
colorbar
fig.
colorbar
(c1, ax=[ax1, ax2])
# 显示图形
plt.show()
在这个示例中,我们首先创建了一个包含两个
子图
的图形 (`fig.add_subplot(121)` 和 `fig.add_subplot(122)`)。然后,我们使用 `plot_surface` 和 `plot_wireframe` 分别在两个
子图
中绘制了 3D 数据。最后,我们通过调用 `fig.
colorbar
` 来创建共享的
colorbar
,并将它与两个
子图
关联起来。
你可以根据自己的需求修改这个示例代码,并添加更多的
子图
来实现你想要的效果。希望对你有帮助!如有更多问题,请继续提问。
解决No qualifying bean of type ‘org.springframework.transaction.PlatformTransactionManager‘ available
17247