选用一门语言,生成两组数据,数据规模不限,使得两组数据的相关系数为-1,-0.9,-0.8,0.8,0.9,1,并在二维坐标系中画出两组数据。
1.os.getcwd()
该函数不需要传递参数,它返回当前的目录。需要说明的是,当前目录并不是指脚本所在的目录,而是所运行脚本的目录。
2.plt.figure()
def figure(num=None,
figsize=None,
dpi=None,
facecolor=None,
edgecolor=None,
frameon=True,
FigureClass=Figure,
clear=False,
**kwargs
):
autoincrement自动递增 integer整数 default默认 facecolor面部颜色 edgecolor边缘颜色
3.np.arange()
a = np.arange(3)
a = np.arange(3,9)
a = np.arange(0, 3, 0.1)
4.round()
round() 方法返回浮点数x的四舍五入值
round( x [, n] )
参数
x -- 数值表达式。
n -- 数值表达式,表示从小数点位数。
5. plt.scatter()散点图画法函数
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, hold=None, data=None, **kwargs)
matplotlib.pyplot.scatter(x,
y,
s=20,
c='b',
marker='o',
cmap=None,
norm=None,
vmin=None,
vmax=None,
alpha=None,
linewidths=None,
verts=None,
hold=None,
**kwargs)
x,y:表示的是shape大小为(n,)的数组,也就是我们即将绘制散点图的数据点,输入数据。
s:表示的是大小,是一个标量或者是一个shape大小为(n,)的数组,可选,默认20。
c:表示的是色彩或颜色序列,可选,默认蓝色’b’。但是c不应该是一个单一的RGB数字,也不应该是一个RGBA的序列,因为不便区分。c可以是一个RGB或RGBA二维行数组。
在这里插入图片描述
marker:MarkerStyle,表示的是标记的样式,可选,默认’o’。
cmap:Colormap,标量或者是一个colormap的名字,cmap仅仅当c是一个浮点数数组的时候才使用。如果没有申明就是image.cmap,可选,默认None。
norm:Normalize,数据亮度在0-1之间,也是只有c是一个浮点数的数组的时候才使用。如果没有申明,就是默认None。
vmin,vmax:标量,当norm存在的时候忽略。用来进行亮度数据的归一化,可选,默认None。
alpha:标量,0-1之间,可选,默认None。
linewidths:也就是标记点的长度,默认None。
6.np.random.multivariate_normal()
np.random.multivariate_normal()方法用于根据实际情况生成一个多元正态分布矩阵(正态分布基本概念戳这里),其在Python3中的定义如下:
def multivariate_normal(mean, cov, size=None, check_valid=None, tol=None)
其中mean和cov为必要的传参而size,check_valid以及tol为可选参数。
mean:mean是多维分布的均值维度为1;
cov:协方差矩阵(协方差基本概念戳这里),注意:协方差矩阵必须是对称的且需为半正定矩阵;
size:指定生成的正态分布矩阵的维度(例:若size=(1, 1, 2),则输出的矩阵的shape即形状为 1X1X2XN(N为mean的长度))。
check_valid:这个参数用于决定当cov即协方差矩阵不是半正定矩阵时程序的处理方式,它一共有三个值:warn,raise以及ignore。当使用warn作为传入的参数时,如果cov不是半正定的程序会输出警告但仍旧会得到结果;当使用raise作为传入的参数时,如果cov不是半正定的程序会报错且不会计算出结果;当使用ignore时忽略这个问题即无论cov是否为半正定的都会计算出结果。
7.plt.subplot()
在matplotlib下,一个Figure对象可以包含多个子图(Axes),
可以使用subplot()快速绘制,其调用形式如下:
subplot(numRows, numCols, plotNum)
图表的整个绘图区域被分成numRows行和numCols列,
plotNum参数指定创建的Axes对象所在的区域,
如何理解呢?如果numRows = 3,numCols = 2,
那整个绘制图表样式为3X2的图片区域,
用坐标表示为(1,1),(1,2),(1,3),
(2,1),(2,2),(2,3)。这时,当plotNum = 1时,
表示的坐标为(1,3),即第一行第一列的子图
import numpy as np
import matplotlib.pyplot as plt
plt.subplot(221) //分成2x2,占用第一个,即第一行第一列的子图
plt.subplot(222)//分成2x2,占用第二个,即第一行第二列的子图
plt.subplot(212)//分成2x1,占用第二个,即第二行
plt.show()
|