I'm running Pandas 0.16.2 and Matplotlib 1.4.3. I have this issue coloring the median of the boxplot generated by the following code:
df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E'])
fig, ax = plt.subplots()
medianprops = dict(linestyle='-', linewidth=2, color='blue')
bp = df.boxplot(medianprops=medianprops)
plt.show()
That returns:
It appears that the color
setting is not read. Changing only the settings of linestyle and linewidth the plot reacts correctly.
medianprops = dict(linestyle='-.', linewidth=5, color='blue')
Anyone can reproduce it?
Looking at the code for DataFrame.boxplot()
there is some special code to handle the colors of the different elements that supersedes the kws
passed to matplotlib's boxplot
. In theory, there seem to be a way to pass a color=
argument containing a dictionary with keys being 'boxes', 'whiskers', 'medians', 'caps'
but I can't seem to get it to work when calling boxplot()
directly.
However, this seem to work:
df.plot(kind='box', color={'medians': 'blue'},
medianprops={'linestyle': '--', 'linewidth': 5})
see Pandas Boxplot Examples
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