我有一个x列表和一个y值列表。我想在Matplotlib中构建一个散点图,并根据x和y坐标将点分为五个类别,如下图所示:
{{1}}
分类中的所有点都是相同的颜色。拥有类别的图例也很棒。我是Matplotlib和Python的新手,有谁知道如何处理这个问题?
答案 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()