可视化

可视化排序实践之冒泡排序

五迷三道 提交于 2020-10-28 09:11:56
如果 排序过程 和 程序执行 能结合起来,那么这个过程会更加直观。 本文给出一个冒泡排序的可视化排序实现, 效果如下图所示: 界面组成 界面很简单就包括两个部分: 界面左侧是可视化排序部分 , 右侧是冒泡排序的代码 。 如何实现 代码 和 排序 的视觉同步? 关键点 如何在页面上表示出排序程序的运行过程。 如何将排序程序的运行过程和可视化排序结合起来,保持状态一致。 解决方法 在这个例子中,我才用了 javax.swing.JList 模拟程序的运行。 javax.swing.JList 有一个 setSelectedIndex 的方法,能高亮显示指定的行。 通过改变selectedIndex的值,能够达到模拟冒泡排序程序执行的效果。在这个过程中,记录下两个循环的索引状态值,根据这些状态值去调整可视化排序。 页面展示 初始化页面 程序随机产生10个数字,然后展示在左侧的排序面板中,每个数都用绿色的矩形展示。 private List<NumberRectangle> initialNumberRectangles() { List<NumberRectangle> list = new ArrayList<NumberRectangle>(); /** * 随机产生10个数组 */ Random random = new Random(); for (int i = 1; i <=

Windows下安装Redis及可视化工具

回眸只為那壹抹淺笑 提交于 2020-04-08 07:33:14
原创 2017年03月31日 13:45:55 Redis对于Linux是官方支持的,安装和使用没有什么好说的,普通使用按照官方指导,5分钟以内就能搞定。详情请参考: http://redis.io/download Redis官方是不支持windows的,只是 Microsoft Open Tech group 在 GitHub上开发了一个Win64的版本,项目地址是: https://github.com/MSOpenTech/redis/releases 下载解压,没什么好说的,在解压后的bin目录下有以下这些文件: [plain] view plain copy 在CODE上查看代码片派生到我的代码片 redis-benchmark.exe #基准测试 redis-check-aof.exe # aof redis-check-dump.exe # dump redis-cli.exe # 客户端 redis-server.exe # 服务器 redis.windows.conf # 配置文件 当然,还有一个 RedisService.docx 文件,是一些启动和安装服务的说明文档。 【需要用Administrator用户运行,如果不是管理员账户就会出各种问题,服务安装以后启动不了等等问题,应该可以修改服务的属性–>登录用户等选项来修正.】 打开 redis-server

用Python可视化决策树【Matplotlib/Graphviz】

筅森魡賤 提交于 2020-04-06 17:40:20
决策树是一种流行的有监督学习方法。决策树的优势在于其既可以用于回归,也可以用于分类,不需要特征缩放,而且具有比较好的可解释性,容易将决策树可视化。可视化的决策树不仅是理解你的模型的好办法,也是向其他人介绍你的模型的运作机制的有利工具。因此掌握决策树可视化的方法对于数据分析工作者来说非常重要。 机器学习相关教程: TensorFlow实战 | 机器学习基础 | 深入浅出Flask | Python基础 在这个教程里,我们将学习以下内容: 如何使用scikit-learn训练一个决策树模型 如何使用Matplotlib将决策树可视化 如何使用Graphviz将决策树可视化 如何将随机森林或决策树包中的单个决策树可视化 教程的代码可以从 这里 下载。现在让我们开始吧。 1、用scikit-learn训练决策树模型 为了可视化决策树,我们首先需要用scikit-learn训练出一个决策树模型。 首先导入必要的Python库: import matplotlib.pyplot as plt from sklearn.datasets import load_iris from sklearn.datasets import load_breast_cancer from sklearn.tree import DecisionTreeClassifier from sklearn

可视化工具D3.js教程 入门 (第十一章)—— 饼图

眉间皱痕 提交于 2020-04-02 18:36:02
首先我们先梳理下 绘制饼图之前 需要掌握的新知识: 1、 d3.arc( arguments.. )   生成器用来在饼图或圆环图中生成 圆形 或 扇形 或 环形;    arguments 是任意的; 它们只是简单地传递到 arc 生成器的访问器函数的对象。例如,根据默认的设置,传入的对象应该包含以下半径和角度信息:   arc({   innerRadius: 0,   outerRadius: 100,   startAngle: 0,   endAngle: Math.PI / 2   }); // "M0,-100A100,100,0,0,1,100,0L0,0Z"  好的 不理解没关系 先往下看 2、d3. pie( data [, arguments… ])    生成器用来计算一组数据作为饼图或圆环图时所需要的角度信息;这些角度信息会被传递给 arc 生成器生成图形。   根据指定的 data 数组生成一组对象数组,其中每个对象包含每个传入的数据经过计算后的角度信息。可以包含其他的额外 argements ,这些额外的参数会直接被传递给当前数据计算后生成的对象或饼图生成器的访问器。   直白点说d3. pie() 就是给d3.arc()提供数据的 。 3、 arc .centroid( arguments… )   计算由给定 arguments 生成的中间点 [

javascript 3d网页 简单的 可视化编辑 图形界面 搭建几何体 带导出物体 示例 ( three.js r114 初探 六)

半城伤御伤魂 提交于 2020-04-01 02:42:07
1 完整代码下载   https://pan.baidu.com/s/1JJyVcP2KqXsd5G6eaYpgHQ     提取码 3fzt (压缩包名: 2020-3-24-demo.zip) 2 图片展示 3 主要代码 1 "use strict" 2 3 ;(function (){ 4 5 //是否支持WebGL 6 if(WEBGL.isWebGLAvailable() === false){ 7 document.body.appendChild(WEBGL.getWebGLErrorMessage()); 8 return; 9 } 10 11 THREE.Cache.enabled = true;//加载器启用缓存 12 13 var _view = new View().initBody(); 14 var _width = _view.size.w; 15 var _height = _view.size.h; 16 var _minDistance = 0.1; 17 var _maxDistance = 5000; 18 19 //three 20 var _Three = function (){} 21 22 Object.assign(_Three.prototype, { 23 24 constructor: _Three, 25 26

Machine Learning 算法可视化实现2 - Apriori算法实现

╄→尐↘猪︶ㄣ 提交于 2020-03-30 04:47:22
目录 关联分析 Apriori原理 Apriori算法实现 - 频繁项集 Apriori算法实现 - 从频繁项集挖掘关联规则 一、关联分析 关联分析 是一种在大规模数据集中寻找有趣关系的任务。 这些关系可以有两种形式: 频繁项集 (frequent item sets): 经常出现在一块的物品的集合。 关联规则 (associational rules): 暗示两种物品之间可能存在很强的关系。 相关术语 关联分析(关联规则学习): 从大规模数据集中寻找物品间的隐含关系被称作 关联分析 (associati analysis) 或者 关联规则学习 (association rule learning) 。 下面是用一个 杂货店 例子来说明这两个概念,如下图所示: 频繁项集: {葡萄酒, 尿布, 豆奶} 就是一个频繁项集的例子。 关联规则: 尿布 -> 葡萄酒 就是一个关联规则。这意味着如果顾客买了尿布,那么他很可能会买葡萄酒。 那么 频繁 的定义是什么呢?怎么样才算频繁呢? 度量它们的方法有很多种,这里我们来简单的介绍下支持度和可信度。 支持度: 数据集中包含该项集的记录所占的比例。 例如上图中,{豆奶} 的支持度为 4/5。{豆奶, 尿布} 的支持度为 3/5。 可信度: 针对一条诸如 {尿布} -> {葡萄酒} 这样具体的关联规则来定义的。这条规则的 可信度 被定义为 支持度(

Redhat可视化界面安装

谁说胖子不能爱 提交于 2020-03-30 02:34:59
镜像版本:7.0以上 1、关闭虚拟机,光盘连接使用ISO映像文件【iso为创建虚拟机的iso镜像文件】 2、开启虚拟机,用root登录 3、将光盘挂载到/mnt   [root@loaclhost ~]#mount /dev/sr0 /mnt 4、配置光盘为本地yum源   [root@loaclhost ~]#vi /etc/yum.repos.d/local.repo 5、输入以下内容,保存并退出 :   [local]   name=local   baseurl=file:///mnt   enabled=1   gpgcheck=0 6、查看组yum包   [root@loaclhost ~]#yum group list 7、安装桌面组件   [root@loaclhost ~]#yum groupinstall -y "Server with GUI" 8、切换到可视化界面   [root@loaclhost ~]#startx 9、查看默认启动模式   [root@loaclhost ~]#systemctl get-default 10、将图形化界面设置为默认启动界面   [root@loaclhost mnt]#cat /etc/inittab   [root@loaclhost mnt]#systemctl set-default graphical

卷积 Convolution 原理及可视化

只愿长相守 提交于 2020-03-28 19:18:21
文章抄自 知乎-王贵波 本文主要介绍了卷积 Convolution 的背景、基本原理、特点、与全连接的区别与联系、不同的卷积模式,进行了卷积可视化以及代码实现了一个简单的 2 维卷积操作,并针对卷积操作进行了计算优化。 目录 卷积背景及原理 卷积的特点(与全连接的区别与联系) 卷积的三种模式 卷积操作 Numpy 简单实现 卷积优化实现 卷积背景及原理 卷积操作历史上来发展于信号处理领域,在信号处理中原始信号通常会被混入噪音,假设传感器在每个时刻 \(t\) 会输出一个信号 \(f(t)\) ,这个信号通常混入了一些噪声,我们可以通过过个测量点进行加权平均来抵消掉噪声,并且离当前时间点 \(t\) 越近的测量点权重应该越高,我们可以用下面的公式表示 \[h(t)=\sum_{t'}g(t-t')f(t') \] 上式中 \(g\) 是一个权重函数,参数是时间点 \(t'\) 距离当前时间 的 \(t\) 距离,输出 \(t'\) 时间点测量的权重; \(f\) 是信号测量函数。在这个例子中, \(t'\) 的采样是离散的,因此采用了加和的形式,同时 \(g\) 还应该是一个概率密度函数,因为在这个例子中表示了一种权重。下图就是这个例子的可视化,灰色是 \(f(t)\) ,红色的部分就是经过翻转的 \(g\) ,绿色部分是生成的 \(h\) 。 这个例子实际上就是卷积操作的一种特例

python matplotlib 可视化操作实例

Deadly 提交于 2020-03-21 05:07:03
具体代码: # encoding: utf-8 # coding = utf-8 import sys reload(sys) sys.setdefaultencoding('utf8') from matplotlib.font_manager import FontProperties import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl import matplotlib print ( matplotlib.matplotlib_fname() ) #mpl.rcParams['font.family'] = 'sans-serif' #mpl.rcParams['font.sans-serif'] = [u'Simsun'] #mpl.rcParams['axes.unicode_minus'] = False font = FontProperties(fname=r"/Users/zhao/anaconda2/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf/Songti.ttc") #font = {'family' : 'SimSun' } #mpl.rc('font', **font) str =""

解决Delphi图形化界面的TEdit、TLable等组件手动拖拽固定大小,但是编译之后显示有差别的情况

为君一笑 提交于 2020-03-20 03:17:29
经常遇到这样的情况,在我们使用Delphi的可视化工具进行UI设计的时候,我们拖拽TEdit或者Label组件,并且在可视化界面上设置它们的长、宽   但是当我们编译和运行程序的时候,却发现真正显示出来的 TEdit或者TLabel组件并不是我们在可视化界面所拖拽的长和宽(显示的“有问题”)   具体的情况见下面的两张图   1.我们在Delphi的可视化界面上需要一个TEdit和TLabel组件,于是我们拖拽了两个组件放在上面,并且设置拖拽设置了长和宽(为了显示清楚,我设置了颜色)   这个时候通过拖拽设计界面上的组件确实   2.但是按 F9 运行的时候显示的却是这样的效果   明显图中显示的 TEdit、TLabel组件(两个黄色区域)根本就不是设置的时候的样子 2015.08.07发现了本质原因            上面出现的这个问题,我在2015.05.11专门写了博客说明解决方法(见本博客的下部分),那个方法确实可以解决问题,但是没有弄明白真正的原因,所以现在进行说明。   在可视化界面上通过拖拽设计TEdit或者TLabel的大小的时候,拖拽好了一个长和宽,但是在点击编译运行之后,发现出来的效果是不一样的(入上面的两张图)。   主要的问题就是出在TEdit的AutoSize属性(TLabel也有AutoSize属性),因为通过看该TEdit的Object