绘制散点图的语法格式如下:
plt.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, *, edgecolors=None, plotnonfinite=False, data=None, **kwargs)
x,y:表示数据点的位置。
s:表示数据点的大小。
c:表示数据点的颜色。
marker:表示点的样式,默认为圆形。
camp:当参数c为浮点数时才使用。
alpha:表示数据点透明度。
edgecolors:数据点边缘颜色。
norm:在0-1的范围内缩放颜色数据,映射到colormap(表示数据点的亮度)。
vmin,vmax:表示亮度的最大与最小值,如果传入的norm参数,不需要使用vmin,vmax参数。
linewidths:表示数据点边缘的宽度。
示例:
车速与制动举例之间的关系
车速(km/h) | 制动距离(m) |
10 | 0.5 |
20 | 2.0 |
30 | 4.4 |
40 | 7.9 |
50 | 12.3 |
60 | 17.7 |
70 | 24.1 |
80 | 31.5 |
90 | 39.9 |
100 | 49.2 |
110 | 59.5 |
120 | 70.8 |
130 | 83.1 |
140 | 96.4 |
150 | 110.7 |
160 | 126.0 |
170 | 142.2 |
180 | 159.4 |
190 | 177.6 |
200 | 196.8 |
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'#显示中文
plt.rcParams['axes.unicode_minus'] = 'False'
x_speed = np.arange(10,210,10)#生产10-200的速度区间
y_distance = np.array([0.5,2.0,4.4,7.9,12.3,17.7,24.1,31.5,39.9,49.2,59.5,70.8,83.1,96.4,110.7,126.0,142.2,159.4,177.6,196.8])
plt.scatter(x_speed,y_distance,s=50,c='red',edgecolors='blue',alpha=0.9)
plt.show()
气泡图:
import matplotlib.pyplot as plt
# 导入颜色条库
from matplotlib import colors
import numpy as np
x = np.random.randn(60) # 随机产生60个X坐标
y = np.random.randn(60) # 随机产生60个Y坐标
color = np.random.rand(60) # 随机产生用于映射颜色的数值
size = 500 * np.random.rand(60) # 随机改变散点大小的数值
changecolor = colors.Normalize(vmin=0.4, vmax=0.8)
plt.scatter(x, y, c=color, s = size, alpha=0.3, cmap='viridis', norm=changecolor)
plt.colorbar() # 显示颜色条
plt.show()