小编Gre*_*ory的帖子

为多个子图设置固定指数和有效数字的科学记数法

我试图将轴固定为两个不同数据集的科学记数,其中一个是[1-9] x1e-3,另一个是[1-9] x1e-4.我想将两个轴设置为10 ^ -4并且在十进制之后具有一位数(例如%.1e).这是一个我试图玩的简单版本:我希望轴上的数字至少为1,我希望两种力量都相同.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(1,9,9)
y1 = x*10**(-4)
y2 = x*10**(-3)

fig, ax = plt.subplots(2,1,sharex=True)

ax[0].plot(x,y1)
ax[0].ticklabel_format(axis='y', style='sci', scilimits=(-4,-4))
ax[0].yaxis.major.formatter._useMathText = True
ax[1].plot(x,y2)
ax[1].ticklabel_format(axis='y', style='sci', scilimits=(-4,-4))
ax[1].yaxis.major.formatter._useMathText = True

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

在此输入图像描述

label axes matplotlib python-2.7

7
推荐指数
1
解决办法
4219
查看次数

pyplot 中的等宽绘图大小,同时保持纵横比相等

我想让两个图具有相同的宽度,但是生成的代码会缩小 imshow 图。

xx = np.linspace(0.0,255.5,512)
yy = np.linspace(0.0,255.5,512)
Func = np.random.rand(len(xx),len(yy))

f, axarr = plt.subplots(2,1)
f.tight_layout()

im = axarr[0].imshow(Func, cmap = 'jet', interpolation = 'lanczos',origin = 'lower')
pos = axarr[0].get_position()
colorbarpos = [pos.x0+1.05*pos.width,pos.y0,0.02,pos.height]
cbar_ax = f.add_axes(colorbarpos)
cbar = f.colorbar(im,cax=cbar_ax)

axarr[1].plot(xx,Func[:,255],yy,Func[255,:])

plt.show()
plt.close('all')
Run Code Online (Sandbox Code Playgroud)

编辑:我还想让 imshow 的情节看起来没有拉伸(本质上,我需要适当拉伸宽度和长度,以便纵横比仍然相等)。

matplotlib python-2.7

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

标签 统计

matplotlib ×2

python-2.7 ×2

axes ×1

label ×1