Python matplotlib将散点图分为基于斜率的类别

时间:2016-08-25 00:02:06

标签: python matplotlib

我有一个x列表和一个y值列表。我想在Matplotlib中构建一个散点图,并根据x和y坐标将点分为五个类别,如下图所示:

enter image description here

{{1}}

分类中的所有点都是相同的颜色。拥有类别的图例也很棒。我是Matplotlib和Python的新手,有谁知道如何处理这个问题?

1 个答案:

答案 0 :(得分:1)

这是一个工作示例,可以让您初步了解一下:

from matplotlib import pyplot as plt
from matplotlib.lines import Line2D

import math
import random

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)

w, h = 7, 5
a = [[random.random() * w, random.random() * h] for i in range(100)]
plt.plot(*zip(*a), marker='o', color='r', ls='')

for deg in [18, 36, 54]:
    r = 10
    line = Line2D([0, r * math.cos(math.radians(deg))],
                  [0, r * math.sin(math.radians(deg))],
                  linewidth=1, linestyle="-", color="green")
    ax.add_line(line)

ax.set_xlim(0, w)
ax.set_ylim(0, h)
plt.legend()
plt.show()