繁体   English   中英

熊猫:如何个性化dataframe.boxplot()?

[英]Pandas: How to Personalize dataframe.boxplot()?

我正在尝试使用Pandas的dataframe.boxplot()创建一些数据的箱线图。 这是一个代码示例:

import pandas as ps 
import matplotlib.pyplot as plt
df1 = ps.DataFrame( {'1':[2,3,4, 5,6,7, 9,10,11], 'blocks': [1,1,1, 2,2,2, 3,3,3]} )
#
boxes_col = dict(facecolor="snow", color="black", fill=True)
median_col = dict(color="black", linewidth=2)
whisk_col = dict(color="black")
cap_col = dict(color="black")
#
P = df1.boxplot(by='blocks', patch_artist=True,
           boxprops = boxes_col, medianprops = median_col,
            whiskerprops = whisk_col, capprops = cap_col,
             return_type = "dict",
               )
plt.title("")
plt.show()

但是结果却不是预期的:

在此处输入图片说明

文本形式的结果是:

{'whiskers': [<matplotlib.lines.Line2D object at 0x7f0fcd7c06d8>, <matplotlib.lines.Line2D object at 0x7f0fcd826ba8>, <matplotlib.lines.Line2D object at 0x7f0fcd7d82e8>, <matplotlib.lines.Line2D object at 0x7f0fcd7d8438>, <matplotlib.lines.Line2D object at 0x7f0fcd7e3eb8>, <matplotlib.lines.Line2D object at 0x7f0fcd7eb048>], 'caps': [<matplotlib.lines.Line2D object at 0x7f0fcd7c0c18>, <matplotlib.lines.Line2D object at 0x7f0fcd7ce080>, <matplotlib.lines.Line2D object at 0x7f0fcd7d8860>, <matplotlib.lines.Line2D object at 0x7f0fcd7d8c88>, <matplotlib.lines.Line2D object at 0x7f0fcd7eb470>, <matplotlib.lines.Line2D object at 0x7f0fcd7eb898>], 'boxes': [<matplotlib.patches.PathPatch object at 0x7f0fcd7c0470>, <matplotlib.patches.PathPatch object at 0x7f0fcd7d8080>, <matplotlib.patches.PathPatch object at 0x7f0fcd7e3c50>], 'medians': [<matplotlib.lines.Line2D object at 0x7f0fcd7ce4a8>, <matplotlib.lines.Line2D object at 0x7f0fcd7e30f0>, <matplotlib.lines.Line2D object at 0x7f0fcd7ebcc0>], 'fliers': [<matplotlib.lines.Line2D object at 0x7f0fcd7ce8d0>, <matplotlib.lines.Line2D object at 0x7f0fcd7e3518>, <matplotlib.lines.Line2D object at 0x7f0fcd7f4128>], 'means': []}

我想问的是,如何在R样式中获得更多箱形图(白框,黑线)?

尝试为轴设置一个变量,您可以修改有关该图的许多属性。

fig, ax = plt.subplots(nrows=1, ncols=1)
P = df1.boxplot(by='blocks', patch_artist=True, ax=ax,
           boxprops = boxes_col, medianprops = median_col,
            whiskerprops = whisk_col, capprops = cap_col,
             return_type = "dict",
               )
ax.grid(False)
for patch in P[0]['boxes']:
    patch.set_facecolor('white')

产量

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM