I am making standard Matplotlib boxplots using the plt.boxplot() command. My line of code that creates the boxplot is:
bp = plt.boxplot(data, whis=[5, 95], showfliers=True)
Because my data has a large distribution, I am getting a lot of fliers outside the range of the whiskers. To get a cleaner publication quality plot, I would like to only show single fliers at the max. and at the min. values of the data, instead of all fliers. Is this possible? I don't see any built-in options in the documentation to do this.
(I can set the range of the whiskers to max/min, but this is not what I want. I would like to keep the whiskers at the 5th and 95th percentiles).
Below is the figure I am working on. Notice the density of fliers.

