5

这是一个相当具体的要求,但我想知道是否有人对这个特定问题有解决方案。当绘图包含颜色条时,似乎 Matplotlib 试图将颜色条和绘图本身压缩到方形边界框中。有没有办法让绘图本身完全符合您想要的尺寸(理想情况下长宽比为 1),同时仍然有一个颜色条?有没有一种聪明的方法可以让你不必猜测和检查?

狭窄

代码如下:

plt.figure(figsize=(8,8))
props = dict(boxstyle='round', facecolor='#C0C0C0', alpha=1)
plt.hexbin(p_binned[7],q_binned[7],extent=(0,1,0,1),gridsize=50,cmap='bone')
plt.colorbar()
text_content = "{:1.3f} ".format(bins[7]/r200_MediumMass2)
plt.text(0.05, 0.95, text_content + r"$r/r_{200}$", fontsize=16, verticalalignment='top', bbox=props)
plt.xlabel('p')
plt.ylabel('q',rotation='horizontal')
plt.ylim(0,1)
plt.xlim(0,1)
plt.show()

谢谢!

4

1 回答 1

6

您可以通过以下方式强制轴的纵横比为一

ax.set_aspect('equal')

并将图形重新调整为您想要的任何尺寸(以英寸为单位)

fig.set_size_inches([height, width],forward=True)

您可以使用

art.get_window_extent()

要获得显示单位中任何艺术家的大小,您可以使用它以编程方式重新调整大小。

mpl 还应该如何在颜色栏中添加?

于 2013-10-15T22:36:42.997 回答