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

标签 python matplotlib figure colorbar

我想在 matplotlib 中创建一个指定大小的绘图,比如说

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

我在图中添加了一些内容并绘制了一个颜色条

plt.colorbar()

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

Without color bar With color bar

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

最佳答案

您需要创建一个单独的图形轴,然后将颜色条添加到该轴。然后,当您更改图形大小时,颜色条不会影响您的图形尺寸。看这个answer .

像这样:

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()

enter image description here

关于python - Matplotlib:让颜色条不影响绘图的大小和比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57530042/

相关文章:

python - fig.add_subplot(111) 中的参数是什么意思?

latex - latex 中的边距数字

python - 将numpy矩阵转换为嵌套字典的有效方法

python - 从 power shell 启动时 Jupyter Notebook 内核未连接

python - 如何让 Anaconda 在 HTTP 代理(不是 https)后面工作?

python - 图中的箭头 matplotlib.pyplot

r - 将表达式与指示变量结合使用作为图标签

python - 可视化两个数值数组之间的差异

python - 如何使用 Pandas 散点矩阵创建子图

python - 基于线上方/下方组的阴影背景