使用pyplot

时间:2016-08-17 09:24:55

标签: python matplotlib

大家,

当我尝试将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参数值的聪明方法吗?提前谢谢。

0 个答案:

没有答案