Matplotlib-プロットを保存すると、注釈は表示されません

本座B

プロットを表示すると、注釈がはっきりと表示されますが、保存しようとすると、次のように表示されます(下部にある注釈が少し表示されています)。

保存する領域を増やす方法はありますか?

ここに画像の説明を入力してください

以下の私のコード:

def plot_conMatrix_ROC(pred_y, test_y, notes, save=False):
    """Arguments:
    pred_y: my prediction of data
    test_y: true values to compare with my prediction
    notes: optional, if i want add any notes to the plot
    save: option to save the plot        
    """

    """-------------  Confusion matrix  ------------------"""
    #Calculate metrics
    precision = precision_score(test_y,pred_y)
    recall = recall_score(test_y,pred_y)
    f1 = f1_score(test_y,pred_y)
    accuracy = accuracy_score(test_y, pred_y)    

    #calculate confusion matrix
    cm = confusion_matrix(test_y,pred_y) 
    class_names = np.unique(test_y)  

    #normalize to scale for the coloring
    norm_conf = []
    for i in cm:
        a = 0
        tmp_arr = []
        a = sum(i, 0)
        for j in i:
            tmp_arr.append(float(j)/float(a))
        norm_conf.append(tmp_arr)

    #plot the matrix
    fig = plt.figure('conMat')
    axes = fig.add_subplot(121)
    fig.set_figheight(5)
    fig.set_figwidth(9)
    res=axes.imshow(np.array(norm_conf),
                    cmap=plt.cm.Purples,interpolation='nearest')
    width = len(norm_conf)
    height = len(norm_conf[0])

    #insert numbers in the matrix
    for x in xrange(width):
        for y in xrange(height):
            axes.annotate(str(cm[x][y]), xy=(y, x), 
                        horizontalalignment='center',
                        verticalalignment='center')

    #Describe the chart
    plt.xticks(range(width), class_names)
    plt.yticks(range(height), class_names)
    plt.ylabel('True label')
    plt.xlabel('Predicted label')
    plt.title('Confusion matrix')
    txt = 'Accuracy: %0.2f, Recall: %0.2f, Precision: %0.2f, F1: %0.2f' % (accuracy,recall,precision,f1) 
    #Annotate
    axes.annotate(txt, xy=(1, 0), xycoords='axes fraction', fontsize=13,
                xytext=(60, -40), textcoords='offset points',
                ha='center', va='center') 
    if notes <> '':
        axes.annotate(notes, xy=(1, 0), xycoords='axes fraction', fontsize=13, xytext=(90, -70), textcoords='offset,ha='center,va='center')

    """-------------  ROC  ------------------"""
    #calculate AUC
    fpr, tpr, _ = roc_curve(test_y, pred_y)
    roc_auc = np.trapz(fpr,tpr)

    axes = fig.add_subplot(122)
    fig.set_figheight(4)
    fig.set_figwidth(9)
    plt.plot(fpr,tpr,'b',label='AUC = %0.2f'% roc_auc)
    plt.plot([0,1],[0,1],linestyle='--',color=(0.6, 0.6, 0.6), label='random  guessing')
    plt.xlabel('False positive rate')
    plt.ylabel('True positive rate')
    plt.title('ROC curve')
    plt.legend(loc='lower right')

    if save:
        plt.savefig('CM_ROC.png') 
    fig.tight_layout()
    plt.show()     
    plt.clf()

そして、呼び出し:

plot_conMatrix_ROC(pred, y_test, notes='test 2',save=True)
tmdavison

を使用して、下部のスペースを増やすことができfig.subplots_adjust(bottom=0.2)ます。bottom必要に応じて(ここでは0.2を使用)の値を変更して、スペースの量を調整します。

これがドキュメントです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

プロットの注釈テキストをmatplotlibで同時に表示する

分類Dev

Matplotlib:異なる色と注釈でクラスターをプロットする方法は?

分類Dev

matplotlib.pyplotを使用してPycharmでプロットすることはできません。図が表示され、すぐに消えました。

分類Dev

サブプロットを使用すると、Matplotlibはマイナーティックを表示しません

分類Dev

Matplotlibで時系列プロットに注釈を付ける

分類Dev

Matplotlibで時系列プロットに注釈を付ける

分類Dev

プロットmatplotlibを維持しながら注釈を削除します

分類Dev

注釈付きの画像をmatplotlibに保存できません

分類Dev

Matplotlibのプロットに注釈を付けるために楕円を描画します

分類Dev

matplotlibでplt.show()を呼び出したときにプロットが表示されません

分類Dev

海生まれのラインプロットへの注釈付けがmatplotlib.units.ConversionErrorで失敗する:値を軸の単位に変換できませんでした: '2020-05-14'

分類Dev

Matplotlibでサブプロットを作成しようとすると、プロットが正しく描画されません

分類Dev

matplotlibサブプロットで注釈が消える

分類Dev

Matplotlib:A、B、Cで図のサブプロットに注釈を付ける

分類Dev

matplotlib.basemapプロットのカラーバーに注釈を付ける

分類Dev

マウスでホバーしたときにmatplotlibでプロットの線に注釈を付ける

分類Dev

Matplotlibは、IDE(PyCharm)で使用されている場合、プロットを更新しません

分類Dev

matplotlibヒートマップに注釈を付ける

分類Dev

pandasデータフレームからmatplotlibプロットにテキスト注釈を追加します

分類Dev

matplotlibとcartopyによってプロットされた単純なインターフェースはwxpythonには表示されません

分類Dev

値の 2 番目のセットを反復処理することでライン プロットに注釈を付ける Matplotlib

分類Dev

Pythonアニメーションのマルチサブプロットmatplotlibは表示されません

分類Dev

matplotlibを使用してプロットすると、目的の日時形式が得られません

分類Dev

サブプロット軸ラベルを非表示にしたり、matplotlibでMaxNLocatorを設定したりすることはできません

分類Dev

プロットをMatplotlibを使用して表示するのではなく、画像ファイルに保存します

分類Dev

プロットをMatplotlibを使用して表示するのではなく、画像ファイルに保存します

分類Dev

Matplotlibはプロットを2回プロットしていますが、plt.plotは1回しか呼び出されませんか?

分類Dev

matplotlib.pyplotを使用する場合、表示されるtext()はありません

分類Dev

どのようにして統計注釈(スターまたはp値)をmatplotlib / seabornプロットに挿入しますか?

Related 関連記事

  1. 1

    プロットの注釈テキストをmatplotlibで同時に表示する

  2. 2

    Matplotlib:異なる色と注釈でクラスターをプロットする方法は?

  3. 3

    matplotlib.pyplotを使用してPycharmでプロットすることはできません。図が表示され、すぐに消えました。

  4. 4

    サブプロットを使用すると、Matplotlibはマイナーティックを表示しません

  5. 5

    Matplotlibで時系列プロットに注釈を付ける

  6. 6

    Matplotlibで時系列プロットに注釈を付ける

  7. 7

    プロットmatplotlibを維持しながら注釈を削除します

  8. 8

    注釈付きの画像をmatplotlibに保存できません

  9. 9

    Matplotlibのプロットに注釈を付けるために楕円を描画します

  10. 10

    matplotlibでplt.show()を呼び出したときにプロットが表示されません

  11. 11

    海生まれのラインプロットへの注釈付けがmatplotlib.units.ConversionErrorで失敗する:値を軸の単位に変換できませんでした: '2020-05-14'

  12. 12

    Matplotlibでサブプロットを作成しようとすると、プロットが正しく描画されません

  13. 13

    matplotlibサブプロットで注釈が消える

  14. 14

    Matplotlib:A、B、Cで図のサブプロットに注釈を付ける

  15. 15

    matplotlib.basemapプロットのカラーバーに注釈を付ける

  16. 16

    マウスでホバーしたときにmatplotlibでプロットの線に注釈を付ける

  17. 17

    Matplotlibは、IDE(PyCharm)で使用されている場合、プロットを更新しません

  18. 18

    matplotlibヒートマップに注釈を付ける

  19. 19

    pandasデータフレームからmatplotlibプロットにテキスト注釈を追加します

  20. 20

    matplotlibとcartopyによってプロットされた単純なインターフェースはwxpythonには表示されません

  21. 21

    値の 2 番目のセットを反復処理することでライン プロットに注釈を付ける Matplotlib

  22. 22

    Pythonアニメーションのマルチサブプロットmatplotlibは表示されません

  23. 23

    matplotlibを使用してプロットすると、目的の日時形式が得られません

  24. 24

    サブプロット軸ラベルを非表示にしたり、matplotlibでMaxNLocatorを設定したりすることはできません

  25. 25

    プロットをMatplotlibを使用して表示するのではなく、画像ファイルに保存します

  26. 26

    プロットをMatplotlibを使用して表示するのではなく、画像ファイルに保存します

  27. 27

    Matplotlibはプロットを2回プロットしていますが、plt.plotは1回しか呼び出されませんか?

  28. 28

    matplotlib.pyplotを使用する場合、表示されるtext()はありません

  29. 29

    どのようにして統計注釈(スターまたはp値)をmatplotlib / seabornプロットに挿入しますか?

ホットタグ

アーカイブ