求助帖
mathematica吧
全部回复
仅看楼主
level 2
yingerh2o 楼主
想画个质谱图,结果报错Show:无法合并……图没出来
程序如下:
ClearAll["Global`*"]
MSpectra=Import["E:\\画图\\MSpectra.csv"];
MSpectra//MatrixForm
plotM[M_,Merror_,numcol_]:=
Plot[{M+Merror,M-Merror},{x,(numcol-1)*25+5,(numcol-1)*25+25},
Axes->{False,False},Filling->{1->{2}},
Frame->{False,False},FillingStyle->{Blue},
PlotStyle->{Blue,Blue}];
mylabel[M_,label_,numcol_]:=
Graphics[Text[Style[label,FontSize->12],
{(numcol-1)*25+15,M-0.006 }]];
totcol=8;
lab0pp=mylabel[5.9,"0++",1];
plotm1=plotM[MSpectra[1,1],MSpectra[2,1],1];
plotm2=plotM[MSpectra[1,2],MSpectra[2,2],1];
lab1pm=mylabel[5.9,"1+-",2];
plotm3=plotM[MSpectra[1,3],MSpectra[2,3],2];
lab2pp=mylabel[5.9,"2++",3];
plotm4=plotM[MSpectra[1,4],MSpectra[2,4],3];
pltm12={plotm1,plotm2,lab0pp};
pltm3={plotm3,lab1pm};
pltm4={plotm4,lab2pp};
plt={pltm12,pltm3,pltm4};
s=Show[plt,Frame->True,FrameTicks->{None,Automatic},PlotRange->{{0,totcol*25+5},{5.85,6.35}},FrameLable->{"JPC","Mass [GeV]"}]
Export["./MassSpectra.pdf",s]
第一张截图为.csv 文件里的数据,第二张截图为报错的具体信息
2021年11月18日 14点11分 1
吧务
level 10
首先能观察到的错误是,取矩阵元素用的是[[]]而不是[]
2021年11月19日 10点11分 2
嗯嗯,后面发现了😅
2021年11月23日 01点11分
吧务
level 10
比起具体的错误,更大的问题在于:你完全可以在笔记本中观察MSpectra[1,1]的输出结果,从而在你写下这么多行东西之前就发现错误,但你发上来的20多行代码在很前面的位置就出了问题。
你可能还没有习惯mma的语法和基于笔记本的代码开发方式。
2021年11月19日 10点11分 3
level 2
yingerh2o 楼主
确实,刚刚开始学习🙈
2021年11月23日 01点11分 4
1