Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Ignoring None as one of the values

I need to plot two sets of data on the same chart with error bars. But I don’t have one of the measurements.

days = [0.43, 1.72, 3.97, 4.81, 9.54, 10.9]
magB = [None, 3.36, 3.9, 4.27, 5.47, 5.59]
magV = [10.8, 2.88, 3.59, 3.89, 5.57, 5.82]

fix, ax = plt.subplots()
plt.xlabel("days")
plt.ylabel("mag")
plt.yticks(np.arange(3, 6, 0.5))
plt.scatter(days, magB, label='magB')
plt.scatter(days, magV, label='magV')
plt.errorbar(days, magB, yerr=1, fmt="o")
plt.errorbar(days, magV, xerr=1, fmt="o")
plt.legend()
ax.invert_yaxis()
plt.show()

But it returns the error when calculating the error:

  File "test.py", line 26, in <module>
    plt.errorbar(days, magB, yerr=0.1, fmt="o")
  File "matplotlib/pyplot.py", line 2537, in errorbar
    return gca().errorbar(
  File "matplotlib/__init__.py", line 1442, in inner
    return func(ax, *map(sanitize_sequence, args), **kwargs)
  File "matplotlib/axes/_axes.py", line 3648, in errorbar
    low, high = dep + np.row_stack([-(1 - lolims), 1 - uplims]) * err
TypeError: unsupported operand type(s) for +: 'NoneType' and 'float'

Process finished with exit code 1

I understand it cannot apply the error to the None value. What can I do about it?

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

I cannot simply ignore the first days value as it will be needed further (more data to plot on the same chart)

>Solution :

There is obviously no meaningful error or value for the first day magB so can’t you just use:

plt.scatter(days[1:], magB[1:], label='magB')
plt.errorbar(days[1:], magB[1:], yerr=1, fmt="o")

and leave the others as they are. The plot then works OK looks fine to me,

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading