我们利用matplotlib绘制散点图,并且为不同的区域添加不同的颜色。

1. 为不同区域添加不同的颜色

import numpy as np
import matplotlib.pyplot as plt

x2 = list(map(int, np.random.random_sample(100) * 100))
y2 = list(map(int, np.random.random_sample(100) * 100))

split_x = split_y = 80
colors = []

for x, y in zip(x2, y2):
    if x > split_x:
        if y > split_y:  # 第一象限
            colors.append('red')
        else:  # 第四象限
            colors.append('blue')
    else:
        if y > split_y:  # 第二象限
            colors.append('yellow')
        else:  # 第三象限
            colors.append('green')
plt.scatter(x2, y2, c=colors)
plt.xlim([0, 100])
plt.ylim([0, 100])
plt.show()

结果展示为:

在这里插入图片描述
可以看到,不同区域的点的颜色不同!

2. 添加纵向、横向分割线

需要加入两行代码:

plt.plot([split_y]*100,'c--')
plt.plot([split_x]*100,list(range(0,100)),'c--')

其中,plt.plot([split_y]*100,'c--')表示的是添加横向分隔线;plt.plot([split_x]*100,list(range(0,100)),'c--')表示的是添加纵向分隔线。

全部代码展示如下:

import numpy as np
import matplotlib.pyplot as plt

x2 = list(map(int, np.random.random_sample(100) * 100))
y2 = list(map(int, np.random.random_sample(100) * 100))

split_x = split_y = 80
colors = []

for x, y in zip(x2, y2):
    if x > split_x:
        if y > split_y:  # 第一象限
            colors.append('red')
        else:  # 第四象限
            colors.append('blue')
    else:
        if y > split_y:  # 第二象限
            colors.append('yellow')
        else:  # 第三象限
            colors.append('green')
plt.plot([split_y]*100,'c--')
plt.plot([split_x]*100,list(range(0,100)),'c--')
plt.scatter(x2, y2, c=colors)
plt.xlim([0, 100])
plt.ylim([0, 100])
plt.show()

效果展示如下:

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐