57636


pandasでエクセルのデータを読み込み、matplotlib
のboxplotで番号ごとにグループ化した箱ひげ図を作成しています。boxplotの箱枠とmedian
lineの色を黒で統一したいのですが、色を設定することができません。

boxpropsやmedianpropsを使用すると、線の太さは変えられるのですが、色は変わりませんでした。  
コードは以下の通りです。

どのようにすれば、色を変えることができるのでしょうか？  
できれば、タイトル（MEAN）の上の Boxplot grouped by SrcID_Featも消したいです。  
よろしくお願いいたします。

version: python 3.6.5

[code]

    import os
    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)
    
[/code]

[![画像の説明をここに入力](https://i.stack.imgur.com/LWZh4.png)](https://i.stack.imgur.com/LWZh4.png)


CC BY-SA 4.0
2019-08-27T02:39:15.060
57625
2019-08-27T08:55:17.097
2019-08-27T03:01:21.217
3060
35617
question
python python3 pandas matplotlib
matplotlibのboxplotにおける色などの細かい調整


こんな感じでどうでしょうか

[code]

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    
    # データはダミー
    N = 10000
    df = pd.DataFrame({
        'MEAN':np.random.normal(0.5, 0.1, N),
        'SrcID_Feat':np.random.choice(range(0,10), N)
    })
    
    fig = plt.figure()
    ax = fig.add_subplot(111)
    
    bp = df.boxplot(column=["MEAN"],by="SrcID_Feat",ax=ax,return_type='dict')
    
    for box in bp['MEAN']['boxes']:
        box.set_color('black')
        box.set_linewidth(2.0)
    
    for median in bp['MEAN']['medians']:
        median.set_color('black')
        median.set_linewidth(2.0)
    
    plt.grid(False)
    plt.show()
    
[/code]

[![画像の説明をここに入力](https://i.stack.imgur.com/ACBlj.png)](https://i.stack.imgur.com/ACBlj.png)


CC BY-SA 4.0
2019-08-27T08:55:17.097
57636
2019-08-27T08:55:17.097
24801
57625
answer