Matplotlib:让颜色条不影响绘图的大小和比例

Sam*_*ufi 5 python matplotlib figure colorbar

我想在 matplotlib 中创建一个具有指定大小的绘图,例如

plt.figure(figsize=(3, 3))
Run Code Online (Sandbox Code Playgroud)

我向图中添加一些内容并绘制颜色条

plt.colorbar()
Run Code Online (Sandbox Code Playgroud)

现在,整个图形的原始尺寸(3x3 英寸)保持不变,但绘图的宽度(实际内容)减小,以适合 3x3 英寸窗口中的绘图和颜色条。

无彩条 带彩条

添加颜色条时如何保持绘图区域的宽度固定并根据需要调整整个图形的大小?

Ben*_*enT 6

您需要创建一个单独的图形轴,然后将颜色条添加到该轴。然后,当您更改图形尺寸时,颜色条将不会占用您的图形尺寸。看到这个答案

像这样的东西:

import numpy as np
from matplotlib import pyplot as plt

x = np.arange(-10,11,1)
y=x
x,y = np.meshgrid(x,y)
Z = x**2-y**2

fig = plt.figure(figsize=(3,3))

im = plt.contourf(x,y,Z)

cb_ax = fig.add_axes([.91,.124,.04,.754])
fig.colorbar(im,orientation='vertical',cax=cb_ax)


plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 我如何知道“fig.add_axes([.91,.124,.04,.754])”的适当参数?有没有一种方法可以自动化,使这些始终适合我的身材尺寸? (2认同)