Pyplot errorbar keeps connecting my points with lines?

Emma Smith picture Emma Smith · Oct 13, 2016 · Viewed 18.9k times · Source

I am having trouble getting these lines between my data points to go away! It seems to be whenever I try to add error bars it does this. If you look at the graphs, the first is without the errorbar line, and the second is with it. Is this a usual side effect of pyplot errorbar? Does anyone know why it does this, or how to make it go away?

plt.figure()
plt.scatter(x, y, label = 'blah')
plt.errorbar(x, y, yerr = None, xerr = x_err) 
plt.plot(x, f) #this is a line of best fit

enter image description here enter image description here

Answer

Bart picture Bart · Oct 13, 2016

You can set the line style (ls) to 'none' (caution: ls=None does not work):

import numpy as np
import matplotlib.pylab as plt

x = np.arange(10)
y = np.arange(10)
yerr = np.random.random(10)
xerr = np.random.random(10)

plt.figure()
plt.subplot(121)
plt.scatter(x, y, label = 'blah')
plt.errorbar(x, y, yerr = None, xerr = xerr) 

plt.subplot(122)
plt.scatter(x, y, label = 'blah')
plt.errorbar(x, y, yerr = None, xerr = xerr, ls='none') 

enter image description here