我试图在我的建模数据之上用错误条过度绘制一些经验数据.错误条似乎首先呈现,因此重写(见下文)
我尝试过使用zorder,但我仍然得到相同的结果.我正在使用的代码是
for i in range(1,len(pf)):
pf[i,:] = av_pf_scale * pf[i,:]
pylab.semilogy(pf[0,0:180],pf[i,0:180],color='0.75')
pylab.semilogy(av_pf[0:180],color='r')
pylab.semilogy(av_mie[0:180],color='g', linestyle='-')
pylab.draw()
f = pylab.errorbar(ang,data[j],
yerr = delta_data[j],
fmt = 'o',
markersize = 3,
color = 'b',
zorder = 300,
antialiased = True)
Run Code Online (Sandbox Code Playgroud)
如果有人能告诉我如何使错误栏呈现在顶部,我将不胜感激.

我正在使用Arduino库.我想记录传感器中的一些数据,日期时间标记它并将其写入SD卡.
要构建我尝试过的文本文件名
String dataFileName = String(String(sedClock.getTime().year(),DEC) +
String(sedClock.getTime().month(),DEC) +
String(sedClock.getTime().day(),DEC) +
String(sedClock.getTime().hour(),DEC) +
String(sedClock.getTime().minute(),DEC) +
String(sedClock.getTime().second(),DEC) + '_log.txt');
Run Code Online (Sandbox Code Playgroud)
然后我想使用登录到该文件
pinMode(SD_PIN,OUTPUT);
dataFile = SD.open(dataFileName,FILE_WRITE);
Run Code Online (Sandbox Code Playgroud)
但我明白了
no matching function call to SDClass::open(String&, int)
candidates are: File SDClass::open(const char*,uint_8)
Run Code Online (Sandbox Code Playgroud)
但似乎Arduino字符串没有相应的
(const char *) dataFileName.c_str()
Run Code Online (Sandbox Code Playgroud)
所以我无法弄清楚如何进行正确的转换
任何帮助将不胜感激.
好吧,我承认我没有很好地提出这个问题.我会更新我的问题更准确.
我正在编写一个以列表作为参数的函数.我想检查列表的长度,以便我可以遍历列表.
我遇到的问题是当列表只有一个条目时,len(myList)返回该条目的长度(字符串的长度)而不是列表的长度,应该是== 1.
如果我强制将参数解析为单个值列表['val'],我可以解决这个问题.但我更喜欢我的API允许用户解析值或值列表.
例:
def myMethod(self,dataHandle, data,**kwargs):
comment = kwargs.get('comment','')
_dataHandle= list()
_data = list()
_dataHandle.append(dataHandle)
_data.append(data)
for i in range(_dataHandle):
# do stuff.
Run Code Online (Sandbox Code Playgroud)
我希望能够通过调用我的方法
myMethod('ed', ed.spectra,comment='down welling irradiance')
Run Code Online (Sandbox Code Playgroud)
或者
myMethod(['ed','lu'] , [ed.spectra,lu.spectra] , comments = ['downwelling', upwelling radiance'])
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.解析['ed']似乎不是什么大不了的事,但它到目前为止打破了我的API的一致性.