关于plt.scatter()的使用

1.plt.scatter()的说明

  • 来源: plt.scatter()是来源于matplotlib库中pyplot子库的一个方法
    pyplot是matplotlib子库,用于绘制2D图表
  • 参数: pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, *, data=None, **kwargs)
  • 作用: plt.scatter()函数用于生成一个scatter散点图。

2. 关于参数的解释

我们根据 plt.scatter()函数的作用(生成一个散点图),就可以知道它所需要的参数大致类别有两个有:

  1. 横纵坐标(横纵坐标范围、每个点对应的横纵坐标)
  2. 散点(散点的个数、大小、样式、颜色等)

各具体参数的解释:

  • n:散点个数
  • X,Y:每个散点对应的横纵坐标
  • label:每个散点对应的颜色 (传入到c)
  • c: 示的是色彩或颜色序列,可选,默认蓝色’b’。c可以是一个RGB或RGBA二维行数组;
  • cmap:Colormap,标量或者是一个colormap的名字,cmap仅仅当c是一个浮点数数组的时候才使用;
  • cmap = plt.cm.Spectral实现的功能是给label为1的点一种颜色,给label为0的点另一种颜色。
  • s: 散点的大小

3. 在程序中的实现

# -*- coding:utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt

np.random.seed(1) # 产生相同的随机数(之后如果使用random,不管运行几次都是第一次的数据)

n=10 #散点的个数
X = np.random.randn(1, n)
Y = np.random.randn(1, n)

#输出每一个点对应的坐标
print(X)
print("______________________")
print(Y)

label = np.array([1,1,0,0,0,0,0,1,1,1]) #对应每个散点的颜色

#生成一个scatter散点图。
plt.scatter(X.reshape(10), Y.reshape(10), c =label, s = 200, cmap = plt.cm.Spectral)
plt.show()

在这里插入图片描述

#改变一下参数

# -*- coding:utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt

np.random.seed(1) # 产生相同的随机数(之后如果使用random,不管运行几次都是第一次的数据)

#散点的个数
n=5
X = np.random.randn(1, n)
Y = np.random.randn(1, n)
print(X)
print("______________________")
print(Y)
label = np.array([1,2,3,4,5]) #对应每个散点的颜色

#plt.scatter()函数用于生成一个scatter散点图。
plt.scatter(X.reshape(n), Y.reshape(n), c =label, s = 2000, cmap = plt.cm.Spectral)
plt.show()

在这里插入图片描述

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`plt.scatter` 和 `ax.scatter` 都是用于绘制散点图的 Matplotlib 方法,它们之间的主要区别在于使用的对象和用法。 `plt.scatter` 是 Matplotlib 的顶层函数之一,它可以在当前图形中绘制散点图。如果您只想绘制一个简单的散点图,那么 `plt.scatter` 是一个很好的选择。它的用法非常简单,只需要将 x 和 y 数据传递给它即可。例如: ``` import matplotlib.pyplot as plt import numpy as np x = np.random.rand(50) y = np.random.rand(50) plt.scatter(x, y) plt.show() ``` `ax.scatter` 是在 Matplotlib 中 Axes 对象的方法,它允许您在特定的 Axes 对象中绘制散点图。如果您需要在一个图形中绘制多个子图,或者需要更精细地控制每个子图的属性,那么使用 `ax.scatter` 是更好的选择。例如: ``` import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() x = np.random.rand(50) y = np.random.rand(50) ax.scatter(x, y) plt.show() ``` 在这个例子中,我们首先创建一个新的 Figure 对象和一个 Axes 对象,并将它们存储在 fig 和 ax 变量中。然后,我们使用 ax.scatter() 方法在 Axes 对象上绘制散点图。这使我们可以更好地控制每个子图的属性,例如轴标签、标题、背景颜色等。最后,我们使用 plt.show() 方法显示图形。 总的来说,`plt.scatter` 是一个更简单的方法,适用于绘制单个散点图,而 `ax.scatter` 更适合于需要更多控制和更复杂图形的情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值