如何自动创建n个子图(箱形图)?

时间:2019-09-08 17:57:02

标签: python pandas matplotlib databricks azure-databricks

我需要显示Path(例如5个)箱形图。我该怎么办?

df =

ResourceDictionary

这是我当前的代码。但是它不会在绘图内显示数据。另外,如果n例如为10(很可能自动转到新行?),则图将非常稀薄。

col1 col2 col3 col4 col5  result
1    3    1    1    4     0
1    2    2    4    9     1
1    2    1    3    7     1

此示例适用于Azure Databricks,但如果适用的话,我也只感谢matplotlib解决方案。

3 个答案:

答案 0 :(得分:0)

我不确定我是否知道您要做什么,但是下面的代码将向您显示图表。您可以通过更改(10,10)的值来控制图形的大小

代码:

df.boxplot(by="result",figsize=(10,10));

结果:

enter image description here

要更改Vert并显示网格:

df.boxplot(by="result",figsize=(10,10),vert=False, grid=True);

答案 1 :(得分:0)

我自己解决了以下问题:

df.boxplot(by="result", column = columns[0:4], vert=False, grid=True, figsize=(30,10), layout = (3, 5))

答案 2 :(得分:0)

如果要生成其他行,同时将列数固定为常数,请按以下方式调整布局:

In [41]: ncol = 2

In [42]: df
Out[42]: 
   v0  v1  v2  v3  v4  v5  v6
0   0   3   6   9  12  15  18
1   1   4   7  10  13  16  19
2   2   5   8  11  14  17  20

In [43]: df.boxplot(by='v6', layout=(df.shape[1] // ncol + 1, ncol))  # use floor division to determine how many row are required 

enter image description here