相关疑难解决方法(0)

更改matplotlib中箱线图的轮廓线和中线的颜色

我正在尝试使用 matplotlib 从 pandas 数据帧创建箱线图。

我能够获取箱线图并更改轮廓和中线的线宽,但我想将所有颜色更改为黑色。我尝试了 Pandas boxplot 中描述的几种方法:设置 box、median、mean 的颜色和属性以及Change the facecolor of boxplot in pandas

然而,他们都不适合我的情况。

有人可以解决这些问题吗?

这是我的代码:

版本:python 3.6.5

    import pandas as pd
    from pandas import DataFrame, Series
    import matplotlib.pyplot as plt

    df = pd.read_excel("training.xls")

    fig = plt.figure()
    ax = fig.add_subplot(111)

    boxprops = dict(color="black",linewidth=1.5)
    medianprops = dict(color="black",linewidth=1.5)


    df.boxplot(column=["MEAN"],by="SrcID_Feat",ax=ax,
              boxprops=boxprops,medianprops=medianprops)

    plt.grid(False)
Run Code Online (Sandbox Code Playgroud)

结果

截屏

matplotlib python-3.x jupyter-notebook

8
推荐指数
2
解决办法
2万
查看次数

如何改变熊猫箱图中的胡须线条?

有没有办法将熊猫箱图中胡须的线型改为' - '?默认似乎是' - '.

我试过了:

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

然而,虽然颜色按照我想要的方式变换,但样式输入似乎根本不会影响绘图.

这是一个例子.我总是为我的胡须划线,但想要实线.

我也试过了

boxprops = dict(linewidth=1.0, color='black')
whiskerprops = dict(linestyle='-',linewidth=1.0, color='black')
plt.figure()
df.boxplot(boxprops=boxprops, whiskerprops=whiskerprops)
Run Code Online (Sandbox Code Playgroud)

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

这与Pandas boxplot密切相关 :设置框的颜色和属性,中位数,平均值

python matplotlib boxplot linestyle pandas

3
推荐指数
1
解决办法
3394
查看次数

造型的熊猫组合箱形图

Python中的普通matplotlib boxplot命令返回一个字典,其中包含方框,中位数,胡须,传单和大写字母的键.这使得造型非常简单.

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# Create a dataframe and subset it for a boxplot
df1 = pd.DataFrame(rand(10), columns=['Col1'] )
df1['X'] = pd.Series(['A','B','A','B','A','B','A','B','A','B'])
boxes= [df1[df1['X'] == 'A'].Col1, df1[df1['X'] == 'B'].Col1]

# Call the standard matplotlib boxplot function,
# which returns a dictionary including the parts of the graph
mbp = plt.boxplot(boxes)
print(type(mbp))

# This dictionary output makes styling the boxplot easy
plt.setp(mbp['boxes'], color='blue')
plt.setp(mbp['medians'], color='red')
plt.setp(mbp['whiskers'], color='blue')
plt.setp(mbp['fliers'], color='blue')
Run Code Online (Sandbox Code Playgroud)

Pandas库为其分组(分层索引)数据帧提供了"优化"boxplot函数.但是,它不返回每个组的几个字典,而是返回一个matplotlib.axes.AxesSubplot对象.这使得造型非常困难.

# …
Run Code Online (Sandbox Code Playgroud)

python matplotlib pandas

2
推荐指数
1
解决办法
6843
查看次数

更改pandas中boxplot的facecolor

我需要改变使用pandas效用函数绘制的箱线图的颜色.我可以使用color参数更改大多数属性,但无法弄清楚如何更改facecolor框.有人知道怎么做吗?

import pandas as pd
import numpy as np
data = np.random.randn(100, 4)
labels = list("ABCD")
df = pd.DataFrame(data, columns=labels)
props = dict(boxes="DarkGreen", whiskers="DarkOrange", medians="DarkBlue", caps="Gray")
df.plot.box(color=props)
Run Code Online (Sandbox Code Playgroud)

python matplotlib boxplot pandas

2
推荐指数
1
解决办法
3938
查看次数