Matplotlib plot line with empty markers

Question:

I’m plotting some data in this way:

plt.plot(x, data['Coherence'], color='b', marker='.', linestyle='solid', mfc='none', mec='b')
plt.xlabel("Number of Topics")
plt.ylabel("Coherence score")
plt.legend("coherence_values", loc='best')
plt.show()

And the output (correct) is:
Text

That is almost what I would like, but behind the markers, I can still see part of the line.
There is a way to get a result like this?

enter image description here

Thank you!

Asked By: MARCO LAGALLA

||

Answers:

You can set the markerfacecolor parameter to "white" to obtain the desired result.

For instance:

import matplotlib.pyplot as plt
import numpy as np

plt.plot(np.random.randn(10), color='b', marker='.', linestyle='solid',  mfc='none', markersize=24, markerfacecolor='white')

Yields the following figure:

enter image description here

Answered By: Sheldon
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.