坐标轴

python库之matplotlib

时光毁灭记忆、已成空白 提交于 2019-12-10 15:56:35
一、简单的绘图流程 1、通过figure()函数创建画布,可以在创建时 更改画布的背景颜色,背景颜色可以有助于子图坐标及坐标轴的显示 2、通过add_subplot()函数在 画布上进行子图的创建,将原有的单个画布分割为多个子图,并进行区域的选取 3、通过其它函数对坐标轴和标签进行相应的处理,详细的内容见后文的代码 import matplotlib.pyplot as plt import numpy as np #生成画布,并设置画布的背景颜色为灰色 fig = plt.figure(facecolor = 'gray') #将画布分成2*2的四块区域从左上到右下,“221”表示2*2中的第1块区域 ax1 = fig.add_subplot(221) ax2 = fig.add_subplot(222) #对子图的坐标轴进行命名 ax1.set_xlabel('Value_X') ax1.set_ylabel('Value_Y') #对子图坐标轴的名称进行颜色的设置 ax1.xaxis.label.set_color('red') ax1.yaxis.label.set_color('red') #子图坐标轴刻度的范围进行设置,具体根据绘制的函数进行确定 x_ticks = np.linspace(-1,2,5) ax1.xticks(x_ticks) y_ticks =

机器学习(十)数据降维(PCA与LDA)

会有一股神秘感。 提交于 2019-12-10 08:29:16
机器学习(十) 数据降维(此处讲PCA与LDA) 背景: 在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观测,收集大量数据后进行分析寻找规律。多变量大数据集无疑会为研究和应用提供丰富的信息,但是也在一定程度上增加了数据采集的工作量。更重要的是在很多情形下,许多变量之间可能存在相关性,从而增加了问题分析的复杂性。如果分别对每个指标进行分析,分析往往是孤立的,不能完全利用数据中的信息,因此盲目减少指标会损失很多有用的信息,从而产生错误的结论。 因此需要找到一种合理的方法,在减少需要分析的指标同时,尽量减少原指标包含信息的损失,以达到对所收集数据进行全面分析的目的。由于各变量之间存在一定的相关关系,因此可以考虑将关系紧密的变量变成尽可能少的新变量,使这些新变量是两两不相关的,那么就可以用较少的综合指标分别代表存在于各个变量中的各类信息。主成分分析与因子分析就属于这类降维算法。 简介: 降维就是一种对高维度特征数据预处理方法。降维是将高维度的数据保留下最重要的一些特征,去除噪声和不重要的特征,从而实现提升数据处理速度的目的。在实际的生产和应用中,降维在一定的信息损失范围内,可以为我们节省大量的时间和成本。降维也成为应用非常广泛的数据预处理方法。 降维具有如下一些优点: 使得数据集更易使用。 降低算法的计算开销。 去除噪声。 使得结果容易理解。 PCA PCA概念: PCA

c# GDI+简单绘图(二)

亡梦爱人 提交于 2019-12-10 06:30:03
在上一片里已经向大家介绍了如何使用GDI+绘制简单的图像,这一片继续向大家介绍其它一些绘图知识. 1. 首先我们来看下上一片中我们使用过的Pen. Pen的属性主要有: Color(颜色),DashCap(短划线终点形状),DashStyle(虚线样式),EndCap(线尾形状), StartCap(线头形状),Width(粗细)等. 我们可以用Pen 来画虚线,带箭头的直线等 Pen p = new Pen(Color.Blue, 5);//设置笔的粗细为,颜色为蓝色 Graphics g = this.CreateGraphics(); //画虚线 p.DashStyle = DashStyle.Dot;//定义虚线的样式为点 g.DrawLine(p, 10, 10, 200, 10); //自定义虚线 p.DashPattern = new float[] { 2, 1 };//设置短划线和空白部分的数组 g.DrawLine(p, 10, 20, 200, 20); //画箭头,只对不封闭曲线有用 p.DashStyle = DashStyle.Solid;//恢复实线 p.EndCap = LineCap.ArrowAnchor;//定义线尾的样式为箭头 g.DrawLine(p, 10, 30, 200, 30); g.Dispose(); p.Dispose();

WebGL中的旋转和移动

早过忘川 提交于 2019-12-08 14:19:25
WebGL中使用rotate(mvMatrix,[0,1,0])函数进行旋转操作,其旋转总是以自身为中心轴进行。 使用translate(mvMatrix,[x,y,z])函数进行移动操作,其移动也是以当前物体变换后的坐标轴为基础。物体进行旋转后,其坐标轴的方向也发生了变化,其自身坐标系与物体坐标系已经不同,其移动方向以变化后的自身坐标系方向为基准。 使用两种操作时,一定要考虑两种操作的 先后顺序 : 1、先移动后旋转 mat4.translate(mvMatrix,[5,0,0]); mat4.rotate(mvMatrix,degToRad(moonAngle),[0,1,0]); 物体先移动到指定位置(此时,自身坐标系与世界坐标系相同),然后在变换后的位置绕自身坐标轴自转。其结果类似于地球的自转 2、先旋转后移动 mat4.rotate(mvMatrix,degToRad(moonAngle),[0,1,0]); mat4.translate(mvMatrix,[5,0,0]); 未旋转前,物体的自身坐标系与世界坐标系方向相同,旋转后,其自身坐标系方向发生了变化。这时进行移动操作,变换以当前的自身坐标系为基准进行。其结果类似于地球绕太阳公转。 本人是新手,有什么不对的地方还请大家多多指正啊! 来源: CSDN 作者: 无涯Andy 链接: https://blog.csdn

matlab中set用法

空扰寡人 提交于 2019-12-06 10:06:03
来源:https://www.cnblogs.com/sddai/p/5467500.html 1.MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值。例如,LineStyle是曲线对象的一个属性名,它的值决定着线型,取值可以是'-' 、':'、'-.'、'--'或'none'。 2.属性的操作 set函数的调用格式为: set(句柄,属性名1,属性值1,属性名2,属性值2,…) 例子: clear x=0:0.2:12; y1=bessel(1,x); y2=bessel(2,x); y3=bessel(3,x); h=plot(x,y1,x,y2,x,y3); set(h,{'LineWidth'},{2;5;8}) %set(h,{'LineWidth'},{2})==set(h,'LineWidth',2),将所有线宽设置为2 set(h,{'Color'},{'r';'g';'b'},{'LineStyle'},{'--';':';'-.'}) %设置颜色和线宽 axis([0 12 -0.5 1]) %设置坐标轴范围 grid on X=0:1:12; Y=-0.5:0.25:1; set(gca,'xtick',X,'ytick',Y) %设置网格的显示格式,gca获取当前figure的句柄 set(xlabel('Time'),

K近邻法

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-05 11:24:14
k-NN是一种基本分类回归方法。k近邻法输出为实例类别,可以取多类 k-NN假定给定一个训练集,其中的实例类别已定。分类时,对于新实例,根据其k个最近邻的训练实例的类别,通过多数表决等方式预测。因此,k-NN不具有显式的学习过程 \(k\) 的选择、距离度量及分类决策规则(如多数表决)是k-NN的三个基本要素 k-NN使用的模型实际上对应于对特征空间的划分。当训练集、距离度量、k值和分类决策规则确定后,对于任何一个新的输入实例,它所属的类唯一的确定。 K值的选择 k值的减小: 减小“近似误差”,增大“估计误差” 整体模型变得复杂,临近点如果恰好是噪声,容易发生过拟合 k值增大: 减小“估计误差”,增大“近似误差” 整体模型变得简单,容易欠拟合 极端情况 \(k=N\) 取一个比较小的数值,通常采用交叉验证法来选取最优的 \(k\) 值 k-NN的实现:kd树 线性扫描:计算输入实例与每一个训练实例的距离,计算量太大 构造kd树 kd树是一种对k维空间中的实例点进行存储以便对其进行快速搜索的树形数据结构。kd树是二叉树,表示对k维空间的一个划分。构造kd树相当于不断地用垂直于坐标轴的超平面将k维空间切分,构成一系列的k维超矩形区域。kd树的每个节点对应于一个k维超矩形区域。 构造平衡kd树 平衡kd树(中位数作为切分点)不一定是搜索效率最优的 输入:数据集T,其中 \(x_i=(x^

matplotlib基本使用

蹲街弑〆低调 提交于 2019-12-05 11:03:05
图片灰度处理 三种方法 读图: jin = plt.imread('./jinzhengen.png') 最小值 作为灰度值 jin_min = jin.min(axis=2) 最大值 作为灰度值 jin_max = jin.max(axis=2) 平均值 作为灰度值 jin_mean = jin.mean(axis=2) 加权平均值 作为灰度值 (使用最多) weight = np.array([0.299,0.587,0.114]) # 权重 jin_weight = np.dot(jin, weight)/3 Matplotlib基础知识 Matplotlib中的基本图表包括的元素 x轴和y轴 : 水平和垂直的轴线 x轴和y轴刻度 : 刻度标示坐标轴的分隔,包括最小刻度和最大刻度 x轴和y轴刻度标签 : 表示特定坐标轴的值 绘图区域 : 实际绘图的区域 可以理解为 画板(包含边框), 画布(绘图区) 只含单一曲线的图 plt.plot(x,y) plt.plot(y) # 只给一个值,默认为y轴,以y数据索引0 到 N-1 作为x轴 包含多个曲线的图 1、可以使用多个plot函数(推荐),在一个图中绘制多个曲线 (碰到 plt.show() 函数结束本次绘图) plt.plot(x,y)plt.plot(x,np.sin(x))plt.show() #

Matplotlib 图形绘制

柔情痞子 提交于 2019-12-04 08:24:49
章节 Matplotlib 安装 Matplotlib 入门 Matplotlib 基本概念 Matplotlib 图形绘制 Matplotlib 多个图形 Matplotlib 其他类型图形 Matplotlib 柱状图 Matplotlib 饼图 Matplotlib 直方图 Matplotlib 散点图 Matplotlib 填充图 Matplotlib 网格 Matplotlib 极坐标图 Matplotlib 3D图 Matplotlib 保存图形 本章我们将从一个简单的图形开始,演示各种绘图方法,逐步丰富图形,使其更美观。 使用默认属性绘图 Matplotlib中,绘制图形时,可以设置一些属性,包括:图形大小、dpi、行宽、颜色和样式、坐标轴、网格属性、文本和字体属性等等。如果不设置,则将使用属性的默认值。 示例 使用默认设置,绘制正弦函数和余弦函数的曲线图。 # 导入numpy库与matplotlib.pyplot库 import numpy as np import matplotlib.pyplot as plt # 准备数据 X = np.linspace(-np.pi, np.pi, 256, endpoint=True) C, S = np.cos(X), np.sin(X) # 绘制曲线 plt.plot(X, C) plt.plot(X, S) #

梯度

北城余情 提交于 2019-12-03 11:30:15
方向导数: 指在函数图像某一点处沿着某个方向的导数,即可以求沿着任意方向的导数,当然在引入方向导数之前只是求沿着坐标轴的导数(如x、y方向),之前学过可以求对某个坐标轴的导数,所以要求沿着某一个方向的导数可以利用对坐标轴的导数变换得到,即沿着某一个方向的导数等于 ①(其中 为该方向到x轴正向的夹角)。 梯度: 是一个向量,指在函数图像某一点处方向导数最大的方向,也即是沿着该方向函数值变化最快,即此向量为( , )。 在函数图像某一点处时,由①式和梯度概念可知,当方向l为该点的梯度方向时,该点的方向导数最大,也可以证明:①式中cos 2 +sin 2 =1的约束条件下 中函数 的最大值为 。也可以推导,梯度方向的方向导数为 恰好该点方向导数最大值和该点梯度向量的模相等。 来源: https://www.cnblogs.com/wisir/p/11794051.html