相关疑难解决方法(0)

Matplotlib因此log轴仅在指定点处具有次要刻度标记.还可以更改颜色栏中刻度标签的大小

我正在尝试创建一个图,但我只想让ticklabels显示如上所示的对数比例.我只希望显示50,500和2000的次要标签.无论如何指定要显示的次要刻度标签?我一直试图解决这个问题,但没有找到一个好的解决方案.我能想到的就是获取minorticklabels()并将fontsize设置为0.这显示在第一段代码下面.我希望有一个更清洁的解决方案.

另一件事是改变颜色栏中的勾选标签的大小,我还没想到.如果有人知道这样做的方法,请告诉我,因为我没有看到颜色栏中的方法很容易做到这一点.

第一个代码:

fig = figure(figto)
ax = fig.add_subplot(111)
actShape = activationTrace.shape
semitones = arange(actShape[1])
freqArray = arange(actShape[0])
X,Y = meshgrid(self.testFreqArray,self.testFreqArray)
Z = sum(activationTrace[:,:,beg:end],axis=2)
surf = ax.contourf(X,Y,Z, 8, cmap=cm.jet)
ax.set_position([0.12,0.15,.8,.8])
ax.set_ylabel('Log Frequency (Hz)')
ax.set_xlabel('Log Frequency (Hz)')
ax.set_xscale('log')
ax.set_yscale('log')
ax.xaxis.set_minor_formatter(FormatStrFormatter('%d'))
ax.yaxis.set_ticks_position('left')
ax.xaxis.set_ticks_position('bottom')
ax.tick_params(axis='both',reset=False,which='both',length=8,width=2)
self.plotSetAxisLabels(ax,22)
self.plotSetAxisTickLabels(ax,18)
cbar = fig.colorbar(surf, shrink=0.5, aspect=20, fraction=.12,pad=.02)
cbar.set_label('Activation',size=18)
return ax, cbar
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

第二代码:

fig = figure(figto)
ax = fig.add_subplot(111)
actShape = activationTrace.shape
semitones = arange(actShape[1])
freqArray = arange(actShape[0])
X,Y = meshgrid(self.testFreqArray,self.testFreqArray)
Z = sum(activationTrace[:,:,beg:end],axis=2)
surf = ax.contourf(X,Y,Z, 8, …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib scipy

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

向 matplotlib 颜色图图例添加垂直标签

此代码使我能够绘制“3d”数组 [X,Y,Z] 的颜色图(它们是 3 个简单的 np.array 元素)。但是我无法在颜色条图例的右侧添加垂直书写标签。

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure("Color MAP 2D+")

contour = plt.tricontourf(X, Y, Z, 100, cmap="bwr")

plt.xlabel("X")
plt.ylabel("Y")
plt.title("Color MAP 2D+")

#Legend
def fmt(x, pos):
    a, b = '{:.2e}'.format(x).split('e')
    b = int(b)
    return r'${} \times 10^{{{}}}$'.format(a, b)
import matplotlib.ticker as ticker
plt.colorbar(contour, format=ticker.FuncFormatter(fmt))

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

在此处输入图片说明

不能从谷歌得到一个简单的答案是很烦人的……有人可以帮我吗?

python label matplotlib colormap

8
推荐指数
1
解决办法
1万
查看次数

在matplotlib中更改colorbars的fontsize

我在以下代码中调整颜色条上的刻度字体大小时遇到​​困难.

fig = plt.figure(figsize=(10,6))

ax = fig.add_subplot(111)
im = ax.pcolor(np.ma.masked_invalid(np.roll(lon, -1100, axis=1)[:2100, :3500]), 
           np.ma.masked_invalid(np.roll(lat, -1100, axis=1)[:2100, :3500]), 
           np.ma.masked_invalid(np.roll(np.absolute(zeta_Mar), -1100, axis=1)[:2100, :3500]),
              cmap='Reds', norm=colors.LogNorm(vmin=1e-6, vmax=1e-4))
ax.set_xlabel('Longitude', fontsize=14)
ax.set_xlabel('Latitude', fontsize=14)
cbar_axim = fig.add_axes([0.95, 0.15, 0.03, 0.7])
cbar = fig.colorbar(im, cax=cbar_axim, ticks=[1e-6, 1e-5, 1e-4])
cbar.set_ticklabels([r'$-10^{-6}$', r'$10^{-5}$', r'$10^{-4}$'])
cbar.set_label(r'$\zeta\ [s^{-1}]$', fontsize=16)

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

谁能告诉我包含fontsize参数的正确语法?

matplotlib python-2.7 colorbar

3
推荐指数
3
解决办法
1万
查看次数

标签 统计

matplotlib ×3

python ×2

colorbar ×1

colormap ×1

label ×1

numpy ×1

python-2.7 ×1

scipy ×1