【发布时间】:2014-10-15 00:56:10
【问题描述】:
希望有人有答案(或经验),因为谷歌搜索没有太大帮助。
这是格式化程序函数的一些示例代码:
from matplotlib.ticker import FuncFormatter
def latex_float(f, pos=0):
float_str = "{0:.2g}".format(f)
if "e" in float_str:
base, exponent = float_str.split("e")
return r"${0} \times 10^{{{1}}}$".format(base, int(exponent))
else:
return r"${}$".format(float_str)
然后在后面的代码中
cbar = pl.colorbar(ticks=np.logspace(0, np.log10(np.max(hist)), 10), format=formatter)#'%.2e')
cbar.set_label('number density', fontsize=labelsize)
cbar.ax.tick_params(labelsize=labelsize-6)
pl.savefig('somefilename.png', bbox_inches='tight')
有时,它会产生类似的输出
有时它会产生类似的输出
目标:无论使用tight_layout(),让颜色条和颜色条标题之间的空间为固定宽度(我可以手动设置这个宽度,但如何?)。我该怎么做?
【问题讨论】:
-
@Emilien - 不。 Labelpad 将根据可用的最宽刻度推送标签,而不是从“轴”本身。请注意,
tight_layout()也在使用中,因此必须有一种方法可以始终如一地执行此操作。它也与问题无关,因为那里提到的内容不适用于tight_layout()
标签: python-2.7 matplotlib plot colorbar