SandDance——微软开源的可视化工具!

Python-SandDance数据可视化探索理解和展示工具 SandDance:数据可视化探索、理解和展示工具 立即下载

图片

今天和大家分享一个由微软开源的可视化工具——SandDance。

图片

前段时间,首席软件开发工程师Dan Marshall在其帖子中表示:“SandDance是Microsoft Research最受欢迎的数据可视化工具,已经作为GitHub上的开源项目重新发布。” 

在介绍之前,先来看看动态特效示例图:

图片

是不是特觉得酷炫?SandDance是由微软研究院的可视化和交互式数据分析(VIDA)小组创建,通过提供了触控式的界面,实现使用者和3D信息图表进行互动,更加特别的是可以以不同的角度不同的方式呈现分析结果,新开源版本的SandDance已经被重新编写,实现了模块化和可扩展性,支持嵌入到自定义应用程序中,并与现代JavaScript工具链集成使用。

除了具有更大的拓展性,支持更多的图表类型外,SandDance还可以作为Visual Studio代码和Azure Data Studio的扩展使用,并且已经作为Power BI自定义Visual Studio重新发布。

SandDance提供了以下JavaScript组件:

  • sanddance:SandDance可视化核心画布。

  • sanddance- react:用于基于React的应用程序的核心SandDance可视化画布。

  • sanddance-explorer:具有UI的核心SandDance可视化画布,用于启用数据浏览,可在基于React的应用程序中使用。

图片

目前,SandDance已经在Github上标星5.8K(Github地址:https://github.com/microsoft/SandDance)

图片

你也可以通过任意浏览器访问其应用主页在线使用。(地址:sanddance.js.org/app)

 

SandDance:直观地探索,理解和呈现您的数据 沙舞 直观地探索,理解和呈现您的数据。 通过使用易于理解的视图,SandDance可以帮助您找到有关数据的见解,进而帮助您讲述数据支持的故事,基于证据构建案例,测试假设,深入了解表面解释,支持购买决策或将数据关联到更广泛的现实环境中。 SandDance使用单元可视化,该可视化在数据库中的行与屏幕上的标记之间应用一对一映射。 视图之间的平滑动画过渡可帮助您在与数据交互时保持上下文。 此新版本的SandDance已从头开始重建,目标是模块化,可扩展并可嵌入到您的自定义应用程序中。 我们现在位于GitHub上,因此我们可以通过贡献,功能请求和讨论由社区开放和驱动。 SandDance由创建 立即下载

相关推荐

Windows Server 域控搭建:AD DS 规划、部署与排障实战

活动目录(AD DS)是 Windows Server 中用于集中管理账号、计算机与策略的核心目录服务,其底层依赖 DNS、Kerberos 和 LDAP 完成身份认证与资源定位。通过域控制器统一身份、组策略和权限边界,企业可显著降低多机环境下账号维护、权限分配与审计成本。十几到上百台终端、有共享隔离与合规要求的局域网,通常适合部署域控;小规模环境则未必划算。围绕域名规划、DNS 指向、OU 设计、FSMO、备份恢复和常见加域故障,域控搭建与 AD 运维需要兼顾前期规划与长期排障,才能让 Windows S

weixin_33845881的博客 764

微软开源的可视化神器,上手太酷炫了!

大家好,我是小五????今天给大家介绍一个格式化神器——SandDance!它是微软开源的一款可视化工具,提供了触控式的界面,实现使用者和3D信息图表进行互动,更加特别的是:可以用不同的角...

zhuxiao5的博客 1133

MAX30102心率血氧传感器

估算AC、DC值的方法如下:找两个波谷点,两个波谷点之间有一个波峰点,两个波谷点相连成一条直线,与Y轴平行的线穿过波峰点会与两个波谷点连接成的直线相交于一点,这个点就是DC点,DC点的Y轴对应值就是直流分量,AC分量的值为波峰点到DC点之间的差值。在医院测量中常用的一种血氧采集方式,如下图所示,光电传感器和光源分别置于手指的两侧,光源穿过手指被另一侧的光电二极管接收,根据光衰减量计算血氧浓度。那么,根据上面的Beer-Lambert 定理,针对测量的具体场景,测量过程的衰减为三层穿透物质衰减量的叠加。

qq_41861711的博客 1万+

开元可视化工具——SandDance(三维立体可视化工具)

当你你还在沉浸在pyechart或echart的二维炫酷可视化图表时微软已经推出了三维开源可视化神器——SandDance下面是它的效果图: 不仅惊呼出声:我滴妈呀chart进化的也太快了吧。 下面简单介绍一下SandDance: SandDance提供了以下JavaScript组件: sanddance:SandDance可视化核心画布。 sanddance-react:用于基于React的应用程序的SandDance可视化画布。 sanddance-explorer:具有UI的核心SandDanc

肥学的博客 1807

QComboBox设置最大显示数量多余的用滑动条,以及QComboBox::setMaxVisibleItems()不起作用的问题

QComoboBox是Qt封装的一个选择框的东西,但是我在使用过程中有一点感觉很不好,如图: 不论你往里面添加多少个它都会给你显示全部,甚至给你铺满全屏,后来看了官方文档发现有个setMaxVisibleItems()的方法,我欣喜若狂啊,终于特么的能解决了,但是,很遗憾,不知为啥,我设置上之后并没有起作用,依然会显示全部,后来搜了百度发现有个人是这样解决的 QComboBox *box = ne...

Aboveground的博客 4920

IDEA集成selenium自动化测试(Java+Selenuim+testNG+Maven)

文章目录写在前面01 | 新建Maven项目02 | idea集成Selenium03 | 写在前面 因为软件测试的需求和博主比较经常使用Java,于是,想在Idea中集成selenuim,用Java编写测试代码,因此有了这篇文章来记录一下过程。 资源指路: java使用selenium实现模拟浏览器操作API大全 模拟登录 TestNG入门教程 感谢上面博客的大佬。 01 | 新建Maven项目 不使用骨架创建,直接点击左侧Maven,然后一路next即可。 02 | idea集成Sele

aLinxi的博客 8280

以多维的视角看数据分析——以PowerBI为例展示SandDance技术

以PowerBI为例展示SandDance技术 SandDance是什么 SandDance 是一个基于 Web 的应用程序,可让您更轻松地探索、识别和交流有关数据的见解。SandDance 为数据可视化、模式识别、趋势和洞察提供了易用性。它通过其动态和可定制的界面提供更好的决策能力,允许查看聚合数据和单个数据。该应用程序还支持并鼓励协作,允许多人使用相同的数据集。此外,SandDance 展示了 Microsoft Research 数据可视化创新和新颖的自然用户交互技术。 ...

ForY_n的博客 1241

把事务数据变成可分析数据:用 ABAP CDS 构建 Cube View 与 Query View,并拆解 OData 取数的底层路径

ABAP CDS分析建模:Cube与Query视图的实践解析 本文探讨了ABAP CDS分析建模中Cube View与Query View的核心区别与应用场景: 架构定位 Cube View作为分析型数据源,定义维度和度量的基础语义 Query View作为消费投影,控制查询可见字段和聚合逻辑 关键实现 通过@Analytics.dataCategory: #CUBE声明分析数据源 使用@DefaultAggregation确保指标口径一致性 @Analytics.query: true启用分析引擎特性 运

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 142

SandDance-微软开源可视化工具基础使用方法介绍

SandDance一款可以制作出炫酷3D数据分析图的工具!本文将会通过一个案例介绍SandDance的使用方法!

weixin_46072314的博客 785

FFMPEG音频开发: Linux下采集摄像头(使用V4L2框架)数据录制成MP4视频保存到本地

一、环境介绍 操作系统介绍:ubuntu 18.04 FFMPEG版本: 4.4.2 摄像头: USB摄像头、虚拟机挂载本机自带摄像头 二、FFMPEG与X264下载编译 X264下载地址: http://www.videolan.org/developers/x264.html FFMPEG下载地址:https://ffmpeg.org/download.html Yasm ...

8875

基于深度学习的垃圾邮件识别

垃圾邮件的大量存在严重威胁着电子邮件系统的安全和效率。基于深度学习的垃圾邮件识别技术已经成为目前最有效的解决方案之一。本文将详细介绍使用深度学习技术进行垃圾邮件识别的方法,并提供相应的代码实现。 随着电子邮件的广泛应用,垃圾邮件的数量不断增加,传统的规则和统计方法已经无法满足对垃圾邮件进行准确识别的需求。深度学习技术以其强大的模式识别能力和自动特征提取能力成为解决垃圾邮件识别难题的有效工具。

一键难忘的博客 1095

Github标星4.8K!微软开源的可视化工具,未免太酷炫了吧

点击 机器学习算法与Python学习 ,选择加星标精彩内容不迷路开源最前线(ID:OpenSourceTop)链接:https://visualstudiomagazine.com/art...

机器学习算法与Python学习 460

AI辅助Android开发:从传统到智能化的技术演进

AI辅助开发的核心在于利用算法模型自动化或优化传统任务。在Android开发中,AI可应用于需求分析、设计、编码、测试和维护各阶段。需求分析:AI工具如基于NLP的模型(例如GPT系列)可解析用户需求文档,自动生成用户故事和原型设计。假设产品需求为“开发一个航班查询应用”,AI能提取关键词,输出UML图或伪代码。代码生成:使用AI代码助手(如GitHub Copilot),工程师输入自然语言描述,AI生成Java/Kotlin代码片段。

郑伟强dev的专栏 137

微软开源的这款可视化工具也太酷炫了吧!

公众号关注“GitHubDaily”设为 “星标”,每天带你逛 GitHub!转自开源最前线说到数据可视化,大家都很熟悉了,设计师、数据分析师、数据科学家等,都需要用各...

GitHubDaily 2904

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

SandDance:微软开源数据可视化探索工具全面解析

SandDance是微软研究院VIDA小组开发的开源数据可视化工具,采用创新的单元可视化技术,通过一对一映射机制将每个数据点对应独立视觉标记,保持数据完整性并提供丰富的交互体验。该项目基于Vega可视化语法构建,集成了Deck.gl和MorphCharts等WebGL渲染引擎,支持平滑动画过渡和多维度数据分析。本文将从项目背景、技术原理、架构设计、版本演进等方面进行全面解析,深入探讨其核心特性和应...

gitblog_00980的博客 360

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

微软可视化数据工具 Sand Dance 开源

摘要:SandDance是微软开发的网页端数据可视化工具,采用单元可视化技术实现数据行与屏幕标记的一一映射。该工具支持动态视图切换、多人协作,既能展示聚合数据又可呈现个体数据点,帮助用户发现模式、验证假设并辅助决策。新版基于模块化架构重构,现已开源(GitHub),支持嵌入自定义应用,适用于桌面和触屏设备。其特色包括流畅的动画过渡、自然交互技术,以及同时呈现宏观统计与微观细节的能力,有效提升数据探索与决策支持效率。

RR1335 之代码才是动力源 1692

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

微软开源了可视化工具SandDance

SandDance是由微软研究院的可视化和交互式数据分析(VIDA)小组创建,通过提供了触控式的界面,实现使用者和3D信息图表进行互动,更加特别的是可以以不同的角度不同的方式呈现分析结果,新开源版本的SandDance已经被重新编写,实现了模块化和可扩展性,支持嵌入到自定义应用程序中,并与现代JavaScript工具链集成使用。具有UI的核心SandDance可视化画布,用于启用数据浏览,可在基于React的应用程序中使用。用于基于React的应用程序的核心SandDance可视化画布。

weixin_53707653的博客 309

SandDance数据可视化革命:7个技巧用微软神器洞察数据真相

SandDance是微软研究院开发的开源数据可视化工具,通过直观的单位可视化和流畅的动画过渡,帮助用户探索、理解和展示数据。无论是数据分析新手还是专业人士,都能通过SandDance发现数据中的隐藏模式和深刻洞察,轻松构建数据故事和支持决策。 ## 📊 技巧1:掌握基础安装与快速上手 开始使用SandDance非常简单,只需几个步骤即可在本地搭建完整环境: 1. 克隆仓库:`git clo

gitblog_01035的博客 727

开源项目:SandDance-数据可视化

网页:https://sanddance.js.org/app/ GitHub:https://github.com/microsoft/SandDance SandDance Visually explore, understand, and present your data. By using easy-to-understand views, SandDance helps y...

RToax 1972

【GitHub项目推荐--微软开源的可视化工具】【转载】

SandDance是由微软研究院的可视化和交互式数据分析(VIDA)小组创建,通过提供了触控式的界面,实现使用者和3D信息图表进行互动,更加特别的是可以以不同的角度不同的方式呈现分析结果,新开源版本的SandDance已经被重新编写,实现了模块化和可扩展性,支持嵌入到自定义应用程序中,并与现代JavaScript工具链集成使用。具有UI的核心SandDance可视化画布,用于启用数据浏览,可在基于React的应用程序中使用。用于基于React的应用程序的核心SandDance可视化画布。

j8267643的博客 1293

微软又一个数据可视化神器开源了!非常酷炫

简介SandDance 是微软开源的数据可视化工具,可以直观地探索、理解和呈现数据。通过使用易于理解的视图,可以帮助用户更快速、更方便地观察数据的特点,展示支持事实故事的证据,列举对假设、猜想的支持,更好地去构建数据模型。 SandDance 提供了一种找到与数据交互的有效方法,帮助我们了解可视化数据的细微差别,指导我们如何从多个角度检查数据,如何对数据采取怎样的分析处理。 微软提供了在线的demo,可以尝试一下: https://microsoft.github.io/SandDance/app/ 项目

osfront的博客 853

Github标星2.6K!微软开源的可视化工具,未免太酷炫了吧

开源最前线(ID:OpenSourceTop) 猿妹编译链接:https://visualstudiomagazine.com/articles/2019/10/14/sanddance....

cainiao_python的博客 199
上一篇: 5分钟搞定一个简单的交互页面!!
下一篇: 18 个常用 Shell 脚本!!(上)
架构文摘JGWZ
博客等级 码龄5年 8808粉丝 345原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值