大家,
当我尝试将colorbar调整到与图相同的高度时,我遇到了问题。我对数据可视化的内在机制,或轴,无花果或类似的东西知之甚少。我的代码正在关注,抱歉卸载图片,
对于图(1),注意输入数据是正方形,即51乘51.该数字令人满意。 将matplotlib.pyplot导入为plt 导入numpy为np 来自mpl_toolkits.axes_grid1 import make_axes_locatable
plt.cla()
plt.clf()
fig1 = plt.figure(1)
ax0 = plt.subplot()
im0 = ax0.imshow(np.arange(51*51).reshape((51,51)), cmap="hsv")
divider0 = make_axes_locatable(ax0)
ax_cb0 = divider0.append_axes("right", size="2%", pad=0.05)
fig1.add_axes(ax_cb0)
plt.colorbar(im0, cax=ax_cb0)
plt.savefig("tmp0.png", bbox_inches="tight")
对于图(2),代码如下,注意现在输入数据是51乘501,输出不满意,
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.axes_grid1 import make_axes_locatable
plt.cla()
plt.clf()
fig2 = plt.figure(2)
ax1 = plt.subplot()
im1 = ax1.imshow(np.arange(51*501).reshape((51,501)), cmap="hsv")
divider1 = make_axes_locatable(ax1)
ax_cb1 = divider1.append_axes("right", size="2%", pad=-4)
fig2.add_axes(ax_cb1)
plt.colorbar(im1, cax=ax_cb1)
ax1.set_aspect(4)
plt.savefig("tmp1.png", bbox_inches="tight")
但是,我们仍然可以通过手动调整此行中的pad参数来使其更好
ax_cb0 = divider0.append_axes("right", size="2%", pad=0.05)
但绝对不是推荐的方式,任何人都知道这样做的聪明方法或者估算pad参数值的聪明方法吗?提前谢谢。