I have a matplotlib
plot generated with the following code:
import matplotlib.pyplot as pyplot Fig, ax = pyplot.subplots() for i, (mark, color) in enumerate(zip( ['s', 'o', 'D', 'v'], ['r', 'g', 'b', 'purple'])): ax.plot(i+1, i+1, color=color, marker=mark, markerfacecolor='None', markeredgecolor=color, label=i) ax.set_xlim(0,5) ax.set_ylim(0,5) ax.legend()
with this as the generated figure:
I don't like the lines through the markers in the legend. How can I get rid of them?
How to make the marker face color transparent without making the line transparent in Matplotlib? Create x_data and y_data(sin(x_data)), using numpy. Plot curve using x_data and y_data, with marker style and marker size. By changing the alpha, we can make it transparent to opaque.
In the current versions of the IPython notebook and jupyter notebook, it is not necessary to use the %matplotlib inline function. As, whether you call matplotlib. pyplot. show() function or not, the graph output will be displayed in any case.
%matplotlib inline is an example of a predefined magic function in Ipython. They are frequently used in interactive environments like jupyter notebook. %matplotlib inline makes your plot outputs appear and be stored within the notebook.
You can specify linestyle="None"
as a keyword argument in the plot command:
import matplotlib.pyplot as pyplot Fig, ax = pyplot.subplots() for i, (mark, color) in enumerate(zip( ['s', 'o', 'D', 'v'], ['r', 'g', 'b', 'purple'])): ax.plot(i+1, i+1, color=color, marker=mark, markerfacecolor='None', markeredgecolor=color, linestyle = 'None', label=`i`) ax.set_xlim(0,5) ax.set_ylim(0,5) ax.legend(numpoints=1) pyplot.show()
Since you're only plotting single points, you can't see the line attribute except for in the legend.
You can set the rcparams
for the plots:
import matplotlib matplotlib.rcParams['legend.handlelength'] = 0 matplotlib.rcParams['legend.numpoints'] = 1
All the legend.* parameters are available as keywords if you don't want the setting to apply globally for all plots. See matplotlib.pyplot.legend documentation and this related question:
legend setting (numpoints and scatterpoints) in matplotlib does not work
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With