Python使用matplotlib画点图时,scatter参数详解

1、源码

@_copy_docstring_and_deprecators(Axes.scatter)
def scatter(
        x, y, s=None, c=None, marker=None, cmap=None, norm=None,
        vmin=None, vmax=None, alpha=None, linewidths=None,
        verts=cbook.deprecation._deprecated_parameter,
        edgecolors=None, *, plotnonfinite=False, data=None, **kwargs):
    __ret = gca().scatter(
        x, y, s=s, c=c, marker=marker, cmap=cmap, norm=norm,
        vmin=vmin, vmax=vmax, alpha=alpha, linewidths=linewidths,
        verts=verts, edgecolors=edgecolors,
        plotnonfinite=plotnonfinite,
        **({
    
    "data": data} if data is not None else {
    
    }), **kwargs)
    sci(__ret)
    return __ret

2、参数详解

2.1 x,y

x = np.random.normal(175, 5, N)
y = np.random.normal(60, 5, N)

x,y分别代表一组数据的横、纵坐标

2.2 s,c

import matplotlib.pyplot as plt
import numpy as np

plt.figure('scatter', facecolor="lightgray")
plt.subplot(1, 2, 1)
plt.scatter(6, 8, s=44, c="r")
plt.subplot(1, 2, 2)
plt.scatter(3, 4, s=14, c="b")
plt.show()

在这里插入图片描述

s:代表坐标点的大小
c:代表坐标点的颜色

2.3 cmap

需要与参数c配合使用

情况一:
c可以是一个序列,例如:plt.scatter([1,2,3],[4,5,6],c=['r','b','r'])
在这里插入图片描述
情况2:

# cmap是一个颜色映射集,为参数序列c中的值分别分配一个颜色
import matplotlib.pyplot as plt
import numpy as np

plt.figure('scatter', facecolor="lightgray")
N = 300
x = np.random.normal(175, 5, N)
y = np.random.normal(60, 5, N)
b = (x - 175) ** 2 + (y - 60) ** 2
plt.scatter(x, y, s=14, c=b, cmap='hsv_r')

plt.show()

结果展示:
在这里插入图片描述

2.4 norm与vmin、vmax

数据亮度,取值范围:0-1,如果使用norm,则vmin、vmax失效

猜你喜欢

转载自blog.csdn.net/m0_51489557/article/details/129973305
今日推荐