6

有没有办法将熊猫箱形图中胡须的线条样式更改为“-”?默认似乎是'--'。

我努力了:

color = dict(boxes='black', whiskers='black', medians='red', caps='black')
styles=dict(whiskers='-')
bp = df.plot.box(color=color, style=styles)

然而,虽然颜色变成了我想要的方式,但样式输入似乎根本不会影响情节。

这是一个例子。我的胡须总是用虚线表示,但我想要实线。

我也试过

boxprops = dict(linewidth=1.0, color='black')
whiskerprops = dict(linestyle='-',linewidth=1.0, color='black')
plt.figure()
df.boxplot(boxprops=boxprops, whiskerprops=whiskerprops)

在这里, df.boxplot 根本不接受输入。

这与Pandas boxplot密切相关 :为 box、median、mean 设置颜色和属性

4

3 回答 3

8

Ted Petrou 的评论有帮助:

将胡须道具 = dict() 直接放入 df.plot.box 行:

color = dict(boxes='black', whiskers='black', medians='red', caps='black')
bp = df.plot.box(color=color,whiskerprops = dict(linestyle='-',linewidth=1.0
, color='black'))

至于 df.boxplot(),参数似乎有问题by。在这里,将whiskerprops 和boxprops 直接包含在参数中也有帮助。但是我仍然不能改变盒子的颜色!它仍然是默认的蓝色。以下代码产生实线黑色胡须,但方框是蓝色的。可以更改框的线宽!

plt.figure()
df.boxplot(boxprops= dict(linewidth=1.0, color='black')
, whiskerprops=dict(linestyle='-',linewidth=1.0, color='black'))

如果有人可以帮助更改 df.boxplot() 中的框颜色,请发表评论。从我得到的熊猫文档中,人们应该宁愿使用 df.plot.box 无论如何。

于 2017-09-15T18:35:04.747 回答
2
import numpy as np
import pandas as pd

mu, sigma = 0, 1 
s = np.random.normal(mu, sigma, 1000)

df = pd.DataFrame(s)

bPlot = df.boxplot(whiskerprops = dict(linestyle='--'
                           , linewidth=2))

在此处输入图像描述

于 2018-09-07T21:23:20.670 回答
1

我这里没有熊猫,但它使用 matplotlib。 pyplot.boxplot返回

将箱线图的每个组件映射到创建的 matplotlib.lines.Line2D 实例列表的字典。

一组线用于胡须。您可以通过字典访问它来设置每个胡须的线型属性。

from pprint import pprint
import matplotlib.pyplot as plt

data = [[1, 2, 3, 4, 5], [2, 3, 4], [1, 1.2, 1.4, 1.8]]
a = plt.boxplot(data)
pprint(a)
for whisker in a['whiskers']:
    whisker.set_linestyle('-.')
    print(whisker.get_linestyle())
plt.show()
plt.close()

line_styles_reference示例中显示了可用的线型。

于 2017-09-14T19:32:37.970 回答