ошибка панели функции ошибка matplotlib.pyplot - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь определить функцию, которая генерирует график рассеяния, с полосами ошибок, для некоторых заданных значений для y и их ошибок, а также значений x с их ошибками, которые вводятся. Я относительно новичок в этом и не могу полностью расшифровать ошибки трассировки. Написанная мною функция отлично работает для scatter (), но не для errorbar (). Будем весьма благодарны за любые кивки в правильном направлении, даже если это просто объяснение следов обратной связи.

import matplotlib.pyplot as plt
import numpy as np
def definedscatter(yvalues,xax,yax):
  print('When entering data, type "done" to finish input for the current variable.')
  plt.figure(1)
  xvalues=[]
  xerrors=[]
  i=1
  xn=None
  while True:
      try:
          xn=input('x value #'+str(i)+': ')
          if xn=='done':
              break
          else:
              test1=float(xn)
              xnerr=input('Error in x value #'+str(i)+': ')
              if xnerr=='done':
                  break
              else:
                  test2=float(xnerr)
                  xnli=[xn]
                  xnerrli=[xnerr]
                  i=i+1
                  xvalues=xvalues+xnli #can't concatenate float to list, only list
                  xerrors=xerrors+xnerrli
      except:
          print('Please enter a numerical value, or type "done" if you have finished inputting data.')
  plt.errorbar(xvalues,yvalues, xerr=xerrors , yerr=yerrors , fmt='o') #scatter func program works fine, but errorbar doesn't, so something wrong with func args
  plt.xlabel(xax)
  plt.ylabel(yax)
  plt.show()
y=[1,2,4,9]
yerrors=[0.3,0.2,0.5,0.8]
xaxis=input('x axis: ')
yaxis=input('y axis: ')
definedscatter(y,xaxis,yaxis)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...