일반 데이터의 일부 플롯팅을 수행하고이를 전력 값에서 dB 값으로 변환합니다. 시스템으로 인해이 값은 0이 '유용한 데이터가 여기에 표시됩니다'표시기 (수학의 본질, 정의 된 값이 아님)로 사용됩니다.Python; 예외 인식지도()
예를 들어, '낮은'값을 제외/시도의 변환을 포장 이들 다루는 기본을 반환 내 일반적인 방법으로,
def f(value):
try:
return convert(value)
except ValueError:
return -140 #implementation specific, don't worry
이 잘 내 프레임 워크 내에서 사용의 90 %를 멋쟁이 그래프 작성을 제외하고
pl.plot(xvals,map(f,yvals))
이 올바르게 데이터를 그립니다, 데이터가 종료 될 때, 예상되는 동작입니다 절벽에서 떨어져 틈 :
나는 게으른 그래서 내가이 순간에 할 것은. 그러나 내가 원하는 것은 그래프가 단지 일 때 ValueError 예외를 충족시키고 f()를 사용하지 않을 때입니다.
맵을 루프로 분해하는 것 외에는 누구도 훌륭한 아이디어가 있습니까?
UPDATES : 나는 Pylab /하기 matplotlib 을 사용하고
"엔드 포인트"에 의존 실행이다; 때로는 '나쁜'가치가 없기 때문에 위의 사항은 전혀 중요하지 않습니다. 이것은 내가 게으름을 피우고, ydata의 min을 기반으로 dynamic ylim을 재설정하는 대신 matplotlibs 그래프 스케일링을 사용하기위한 것입니다 (이 경우에는 atm은하지 않으며,이 경우에는 ylim (-140)입니다)
희미하게 중요 업데이트 답변 : unutbu의 대답은이 구현에서 사용하게 될 것입니다. (질문 종속성에 언급되지 않았기 때문에)이 정기적으로 사용되는 함수에서 StopIteration을 발생 시키면 무관계 - 다른 모든 인스턴스를 try-excepts에 두지 않고 질문 제어 로직 때로는 생각보다 더 많이 말이됩니다.
굉장히 빠른 것에 대해 모두에게 감사 드리며, QuestionFail에 대해 unutbu에게 사과드립니다.
문제는 조금 불분명하고, 특정 값에 도달하면 데이터를 통해 반복하는 중지 할. 루프로지도를 분해했다면 어떻게 보이는지 보여 줄 수 있습니까? – Claudiu