如何在散点图(Matplotlib)中创建外侧图例

2024-03-29 04:39:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用下面的代码来生成散点图。你知道吗

import matplotlib.pyplot as plt
from numpy.random import random

colors = ['b', 'c', 'y', 'm', 'r']

lo = plt.scatter(random(10), random(10), marker='x', color=colors[0])
ll = plt.scatter(random(10), random(10), marker='o', color=colors[0])
l  = plt.scatter(random(10), random(10), marker='o', color=colors[1])
a  = plt.scatter(random(10), random(10), marker='o', color=colors[2])
h  = plt.scatter(random(10), random(10), marker='o', color=colors[3])
hh = plt.scatter(random(10), random(10), marker='o', color=colors[4])
ho = plt.scatter(random(10), random(10), marker='x', color=colors[4])

plt.legend((lo, ll, l, a, h, hh, ho),
           ('Low Outlier', 'LoLo', 'Lo', 'Average', 'Hi', 'HiHi', 'High Outlier'),
           scatterpoints=1,
           loc='best',
           ncol=3,
           fontsize=8)
plt.savefig('foo111.png')

我想展示一下传说,外面的情节。请帮我实现这个目标。你知道吗

注意:目前我使用的是matplotlib(1.4.3)和python2.7


Tags: 代码importlomatplotlibhhpltrandommarker
1条回答
网友
1楼 · 发布于 2024-03-29 04:39:20

试着按照这些思路做些事情。你知道吗

ax = plt.subplot(111)

lo = ax.scatter(random(10), random(10), marker='x', color=colors[0])
ll = ax.scatter(random(10), random(10), marker='o', color=colors[0])
...

plt.legend((lo, ll, l, a, h, hh, ho),
       ('Low Outlier', 'LoLo', 'Lo', 'Average', 'Hi', 'HiHi', 'High Outlier'),
       scatterpoints=1,
       loc='center left',
       bbox_to_anchor=(1, 0.5),
       ncol=3,
       fontsize=8)

也许值得一看the matplotlib legend docs,看看如何更充分地使用它。你知道吗

相关问题 更多 >