我有一个y变量,我试图在图的顶部和底部绘制两个相关的x轴(例如,y ="立方体中的数量",x1 ="立方体的边长",x2 ="立方体的体积").我在yumpy数组中有y,x1,x2.我的x1和x2之间的关系是一对一和单调的,但并不简单,它们在不同的方向上增加,如"边长"和"反向体积".我尝试过使用twiny()和twin(),但这些似乎是为了绘制不同的y变量而设计的.有任何想法吗?感谢大家!
下面是我尝试做的事情的一个例子,除了一行而不是符号.这个想法是,例如,sigma = 0.4和M = 2e15是等价的,并且对于一个点是可互换的标签.
alt text http://img580.imageshack.us/img580/4554/screenshotuy.png
我一直在尝试使用scipy.interpolate.bisplrep()和scipy.interpolate.interp2d()来查找我的(218x135)2D球面极坐标网格上的数据的插值.对于这些,我传递了我的网格节点的笛卡尔位置的2D数组X和Y. 我不断收到如下错误(对于interp2d的线性插入):
"警告:不能再添加结,因为额外的结会与旧结相吻合.可能原因:重量太小或太大,数据点不准确.(fp> s)kx,ky = 1,1 nx ,ny = 4,5 m = 29430 fp = 1390609718.902140 s = 0.000000"
我得到了二元样条曲线的类似结果和平滑参数s的默认值等.我的数据是平滑的.我已经附上了我的代码,以防我做了明显错误的事情.
有任何想法吗?谢谢!凯尔
class Field(object):
Nr = 0
Ntheta = 0
grid = np.array([])
def __init__(self, Nr, Ntheta, f):
self.Nr = Nr
self.Ntheta = Ntheta
self.grid = np.empty([Nr, Ntheta])
for i in range(Nr):
for j in range(Ntheta):
self.grid[i,j] = f[i*Ntheta + j]
def calculate_lines(filename):
ri,ti,r,t,Br,Bt,Bphi,Bmag = np.loadtxt(filename, skiprows=3,\
usecols=(1,2,3,4,5,6,7,9), unpack=True)
Nr = int(max(ri)) + 1
Ntheta = int(max(ti)) + 1
### Initialise …
Run Code Online (Sandbox Code Playgroud)