相关疑难解决方法(0)

Matplotlib颜色条在左侧/对侧刻度

可以像这样生成垂直颜色条(简化):

import matplotlib.pyplot as plt
import matplotlib as mpl

plt.figure()
c_ax=plt.subplot(111)
cb = mpl.colorbar.ColorbarBase(c_ax,orientation='vertical')
plt.savefig('my_colorbar.png')
Run Code Online (Sandbox Code Playgroud)

导致这样的事情(因空间原因而轮换):在此输入图像描述

是否可以在对面获得刻度标签?

python matplotlib colorbar

16
推荐指数
2
解决办法
8567
查看次数

减少水平颜色条填充

我正在尝试生成一个具有多个轴的图,每个轴都有自己的颜色条(代码如下)。如果我使用默认的颜色条绘图,绘图和颜色条之间的水平间距太大:

在此输入图像描述

如果我尝试使用该make_axes_locatable()方法,我会得到这个可怕的结果:

在此输入图像描述

这是怎么回事?我该如何解决这个问题?


import numpy as np
from matplotlib import pyplot as plt
import matplotlib.gridspec as gridspec
from mpl_toolkits.axes_grid1 import make_axes_locatable

# Random data to plot
data = np.random.uniform(0., 1., (2, 100))
z = np.random.uniform(0., 10., 100)

# Define figure
fig = plt.figure(figsize=(30, 30))
gs = gridspec.GridSpec(12, 12)

for i in range(2):
    ax = plt.subplot(gs[2 * i:2 + (2 * i), 0:8])

    SC = plt.scatter(*data, c=z)

    # Colorbar 1
    cbar = plt.colorbar()

    # Colorbar 2
    # the_divider = …
Run Code Online (Sandbox Code Playgroud)

python matplotlib colorbar

5
推荐指数
1
解决办法
7233
查看次数

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

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

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

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

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

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

无彩条 带彩条

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

python matplotlib figure colorbar

5
推荐指数
1
解决办法
5742
查看次数

重新定位颜色条

是否可以将色图(现在位于原始图的右侧)放在图的顶部?

我的代码:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.axes3d import Axes3D, get_test_data
from matplotlib import cm
import numpy as np


# set up a figure twice as wide as it is tall
fig = plt.figure(figsize=plt.figaspect(0.5))

#===============
#  First subplot
#===============
# set up the axes for the first plot
ax = fig.add_subplot(1, 2, 1, projection='3d')

# plot a 3D surface like in the example mplot3d/surface3d_demo

X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

2
推荐指数
1
解决办法
8752
查看次数

标签 统计

matplotlib ×4

python ×4

colorbar ×3

figure ×1