在图的一侧显示图例 [重复]

Posted

技术标签:

【中文标题】在图的一侧显示图例 [重复]【英文标题】:Showing Legend on the side of graph [duplicate] 【发布时间】:2016-10-13 16:22:42 【问题描述】:

我绘制了一个图表,图例通过隐藏图表显示在图表的顶部。

如何在侧面显示它。

这是我写的代码

##############################################################################
# Plot ROC curves for the multiclass problem

# Compute macro-average ROC curve and ROC area

# First aggregate all false positive rates
all_fpr = np.unique(np.concatenate([fpr[i] for i in range(n_classes)]))

# Then interpolate all ROC curves at this points
mean_tpr = np.zeros_like(all_fpr)
for i in range(n_classes):
    mean_tpr += interp(all_fpr, fpr[i], tpr[i])

# Finally average it and compute AUC
mean_tpr /= n_classes

fpr["macro"] = all_fpr
tpr["macro"] = mean_tpr
roc_auc["macro"] = auc(fpr["macro"], tpr["macro"])

# Plot all ROC curves
plt.figure()
plt.plot(fpr["micro"], tpr["micro"],
label='micro-average ROC curve (area = 0:0.2f)'
               ''.format(roc_auc["micro"]),
         linewidth=2)

plt.plot(fpr["macro"], tpr["macro"],
label='macro-average ROC curve (area = 0:0.2f)'
               ''.format(roc_auc["macro"]),
         linewidth=2)

for i in range(n_classes):
    plt.plot(fpr[i], tpr[i], label='AUC class 0 (area = 1:0.2f)'
                                   ''.format(i, roc_auc[i]))

plt.plot([0, 1], [0, 1], 'k--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Multi-Class ROC Curve of '+name)
plt.legend(loc="lower right")

这是我得到的图像。

【问题讨论】:

看看这些例子:matplotlib.org/users/legend_guide.html 【参考方案1】:

我知道将图例从图表中删除的唯一方法是缩小图表:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(10)

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

for i in xrange(5):
    ax.plot(x, i * x, label='$y = %ix$'%i)

# Shrink current axis by 20%
box = ax.get_position()
ax.set_position([box.x0, box.y0, box.width * 0.8, box.height])

# Put a legend to the right of the current axis
ax.legend(loc='center left', bbox_to_anchor=(1, 0.5))

plt.show()

【讨论】:

以上是关于在图的一侧显示图例 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

python中关于图例legend在图外的画法简析

python中关于图例legend在图外的画法简析

堆叠的水平条形图,图例在图内。我如何使这个情节更明显[重复]

次要情节之外的主要人物图例

如何在列中显示饼图的图例?

Flex 3.0:在饼图的图例中显示数据