我想把文字放在相等方面图的右下角.我通过ax.transAxes设置相对于图形的位置,但是我必须根据每个图形的高度尺度手动定义相对坐标值.
在脚本中知道轴高度比例和正确文本位置的好方法是什么?
ax = plt.subplot(2,1,1)
ax.plot([1,2,3],[1,2,3])
ax.set_aspect('equal')
ax.text(1,-0.15, 'text', transform=ax.transAxes, ha='right', fontsize=16)
print ax.get_position().height
ax = plt.subplot(2,1,2)
ax.plot([10,20,30],[1,2,3])
ax.set_aspect('equal')
ax.text(1,-0.15, 'text', transform=ax.transAxes, ha='right', fontsize=16)
print ax.get_position().height
Run Code Online (Sandbox Code Playgroud)

我有两个2D数组,x(ni,nj)和y(ni,nj),我需要在一个轴上进行插值.我想为每个ni插入最后一个轴.
我写
import numpy as np
from scipy.interpolate import interp1d
z = np.asarray([200,300,400,500,600])
out = []
for i in range(ni):
f = interp1d(x[i,:], y[i,:], kind='linear')
out.append(f(z))
out = np.asarray(out)
Run Code Online (Sandbox Code Playgroud)
但是,我认为如果数组大小太大,这种方法由于循环而效率低且速度慢.像这样插入多维数组的最快方法是什么?有没有办法在没有循环的情况下执行线性和三次插值?谢谢.
我正在尝试使用colormap在matplotlib中创建一个填充的等高线图.我想改变指定值的颜色.
例如,
levs = [-3,-1,1,3]
plt.contourf(x,y,z,levs,cmap=cm.jet,extend='both')
Run Code Online (Sandbox Code Playgroud)
我希望-1和1之间的颜色为白色,保持其他颜色默认的colormap.
对不起,我的英语不好.任何帮助,将不胜感激.