Is there a way to change the linestyle of the whiskers in pandas boxplots to '-'? Default seems to be '--'.
I have tried:
color = dict(boxes='black', whiskers='black', medians='red', caps='black')
styles=dict(whiskers='-')
bp = df.plot.box(color=color, style=styles)
However, while the colors turn out the way I want, the style input does not seem to affect the plot at all.
Here is an example. I always get dashed lines for my whiskers, but would like solid lines.
I have also tried
boxprops = dict(linewidth=1.0, color='black')
whiskerprops = dict(linestyle='-',linewidth=1.0, color='black')
plt.figure()
df.boxplot(boxprops=boxprops, whiskerprops=whiskerprops)
Here, df.boxplot does not take the inputs at all.
This is closely related to Pandas boxplot: set color and properties for box, median, mean
Ted Petrou's commments helped:
Put the whiskerprops = dict() directly in to the df.plot.box line:
color = dict(boxes='black', whiskers='black', medians='red', caps='black')
bp = df.plot.box(color=color,whiskerprops = dict(linestyle='-',linewidth=1.0
, color='black'))
As for df.boxplot(), there seems to be a problem with by
arguments. Including whiskerprops and boxprops directly into the argument, here, helped as well. However I could still not change the boxes' color! It remains to be the default blue. The following code yields solid-line, black whiskers, however the boxes are blue. Linewidth of boxes can be changed tho!
plt.figure()
df.boxplot(boxprops= dict(linewidth=1.0, color='black')
, whiskerprops=dict(linestyle='-',linewidth=1.0, color='black'))
If anyone can help with changing boxes colors in df.boxplot(), please do comment. From the pandas documentation I get, that people should rather use df.plot.box anyways tho.