Search code examples
pythonmatplotlibscatter-plot

How to connect scatterplot points with line using matplotlib


I have two lists, dates and values. I want to plot them using matplotlib. The following creates a scatter plot of my data.

import matplotlib.pyplot as plt

plt.scatter(dates,values)
plt.show()

plt.plot(dates, values) creates a line graph.

But what I really want is a scatterplot where the points are connected by a line.

Similar to in R:

plot(dates, values)
lines(dates, value, type="l")

which gives me a scatterplot of points overlaid with a line connecting the points.

How do I do this in python?


Solution

  • I think @Evert has the right answer:

    plt.scatter(dates,values)
    plt.plot(dates, values)
    plt.show()
    

    Which is pretty much the same as

    plt.plot(dates, values, '-o')
    plt.show()
    

    You can replace -o with another suitable format string as described in the documentation. You can also split the choices of line and marker styles using the linestyle= and marker= keyword arguments.