前言
散点图是指在回归分析中,数据点在直角坐标系平面上的分布图,散点图表示因变量随自变量而变化的大致趋势,据此可以选择合适的函数对数据点进行拟合。
用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。散点图将序列显示为一组点。值由点在图表中的位置表示。类别由图表中的不同标记表示。散点图通常用于比较跨类别的聚合数据。
如果需要绘制折线图,请参考我的这篇文章:
一、基本命令
plt.scatter(x,y,s,color='',cmap='',marker='',alpha='')
(x, y)是其在坐标中的位置,s表示打点的大小,color表示打点的颜色,cmap表示颜色映射表,marker表示打点的标记,alpha修改透明度。举个例子:
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(0.05,10,1000)
y=np.random.rand(1000)
fig=plt.figure(figsize=(3,3),dpi=200)
ax=fig.add_subplot(111)
ax.scatter(x,y,s=10,)
plt.show()
运行结果:
二、细节问题
(1)中文不显示以及负号显示异常
在前加一句:
plt.rcParams['font.sans-serif']=['...'] # ...替换成字体,常用的有SimHei(黑体),LiSu(隶书),STXingkai(行楷)等等
plt.rcParams['axes.unicode_minus'] = False # 使坐标轴刻度表签正常显示正负号
(2)多个子图共用一个colorbar的排版问题
大家肯定想要的是colorbar显示在子图的最下方。
此时应当将colorbar单独看成一个子图进行绘制,使用
ax = fig.add_axes[i, j, m, n]
i, j代表本子图在figure中位置,表示距离figure左边和下边的距离。m, n为本子图的形状大小。具体参数需要读者在绘制过程中微调。