从 Topspin 程序中,我正在尝试导出
中的选定区域到后来
首先,我不知道要导出的格式是正确的,然后,代码绘制它之后也能够修改轴(通过使用 plt.set_x(y)lim())。最后提到的一件事将对于设置先前选择的区域的子区域非常有用。
我尝试过以下方法:
右键单击所选区域 > 将显示区域保存到...
如果我选择最后一个选项,则会出现一个大的 .txt 文件,其中包含 XY 网格的 z 轴中的值,但有关 x 和 y 轴的信息会丢失,并且无法选择子区域。
对于选择正确的格式和代码有什么建议吗?
如果有人遇到同样的问题并且找不到任何答案,这里有解决方案:
https://github.com/jjhelmus/nmrglue/issues/214
这里是代码:
# read data
dic, data = ng.bruker.read_pdata("datafolder/1/pdata/1")
# read in axis ppm parameters
udic = ng.bruker.guess_udic(dic, data, strip_fake=True)
uc = {i: ng.fileiobase.uc_from_udic(udic, dim=i) for i in (0, 1)}
axis_limits = [*uc[1].ppm_limits(), *uc[0].ppm_limits()]
# contour levels
levels = [data.max() / 20 * 1.4**i for i in range(10)] # change as needed
# plot
fig, ax = plt.subplots()
ax.contour(
data.real,
levels=levels,
extent=axis_limits,
cmap=plt.cm.Greys_r, # change as per your preference
linewidths=0.5, # change as per your preference
)
ax.set_xlim(11.5, 6) # change as needed
ax.set_ylim(135, 105) # change as needed
plt.show()