DataGear 自定义数据可视化图表

【Datagear】关于Datagear目前发现的部分限制 Datagear是一款非常不错的开源可商用BI分析平台,市面上大多数贩卖的BI平台能做的它基本都能做,不能做的也可以通过自己编辑JS甚至写后端服务实现,有完整的用户和权限管理系统内置,是很不错的低成本实现企业BI需求的平台。Datagear官网:http://www.datagear.tech/不过在深入使用此平台过程中,发现一些限制,分享出来避免大家走弯路。 阅读详情

DataGear内置了很多常用的图表(折线图、柱状图、饼图、散点图、雷达图、地图等等),能满足大部分数据可视化需求,当内置图表无法满足时,则可以通过自定义图表或插件的方式,实现特定业务的数据可视化需求。

自定义图表实现起来简单方便,只需为看板内的图表类型为自定义的<div>图表元素添加dg-chart-renderer属性(图表渲染器),并实现其逻辑即可;自定义图表插件则稍复杂些,需要编写单独的插件包,并上传至系统,之后则可在整个系统内复用。

本文主要讲解自定义图表实现方式。

在开始自定义之前,需要了解的是,系统会为图表、看板展示页面自动引入Jquery(window.$)、ECharts(window.echarts)等JS库(具体参考官网文档内置看板资源章节),可以在自定义图表和插件中直接使用它们。

下面,以折线图为例,介绍如何通过自定义图表方式实现。

假设有如下各月份销售额数据集:

名称:

各月份销售额

数据:

month     sales
1月       11
2月       41
3月       9
4月       20
5月       15
6月       18

属性(预览后系统自动解析而得,展示名称由用户选填):

名称        类型        展示名称
month       字符串      月份
sales       数值        销售额

假设有关联上述数据集,图表类型为自定义的图表:

名称     :各月份销售额图表
图表类型 :自定义
数据集   :各月份销售额

自定义图表需要在看板内编写图表渲染器实现代码,因此,这里新建一个看板,并添加上述图表,内容如下:

<!DOCTYPE html>
<html>
<head>
...
<script type="text/javascript">
//自定义图表渲染器
var myChartRenderer=
{

};
</script>
</head>
<body>
  <div dg-chart-renderer="myChartRenderer" dg-chart-widget="[上述图表ID]"><!--各月份销售额图表--></div>
</body>
</html>

下面需要做的是实现 myChartRenderer 图表渲染器逻辑,它应至少实现如下两个函数(异步渲染、事件处理需要实现更多函数,具体参考官网文档图表渲染器章节):

{
  //初始渲染图表
  //chart 图表对象
  render: function(chart){ ... },

  //更新图表数据
  //chart 图表对象
  //results 要更新的数据集结果对象数组
  update: function(chart, results){ ... }
}

在实现上述两个函数之前,我们需要先了解一下两个参数 chart 和 results 的结构。

chart 表示图表对象,它封装了要渲染图表的基本信息、及其关联的数据集信息(由<div>图表元素添加dg-chart-widget属性指定),在本例中,它的基本结构如下所示:

{
  name: "各月份销售额图表",
  //图表关联的数据集信息,本例中只有一个
  chartDataSets:
  [
    {
      dataSet:
      {
        name: "各月份销售额",
        properties:
        [
          {name: "month", type: "STRING", label: "月份"},
          {name: "sales", type: "NUMBER", label: "销售额"}
        ]
      }
    }
  ],
  //图表所处的div图表元素ID,如果没有定义,系统会随机生成一个,并自动设置为div图表元素的id属性
  elementId: "..."
}

除了上述基本结构,chart 对象还定义了很多用于支持图表渲染、数据处理、事件处理等辅助API(详细参考官网文档图表对象章节),下面是几个比较基本的API:

//获取div图表元素DOM对象
chart.element()

//获取div图表元素的Jquery对象
chart.elementJquery()

//将图表初始化为ECharts图表,并返回ECharts实例对象
chart.echartsInit(options)

//获取图表的ECharts实例对象
chart.echartsInstance()

//设置图表的ECharts选项
chart.echartsOptions(options)

//将图表原始数据集数据转换为名/值结构的数据
chart.resultNameValueObjects(result, nameProperty, valueProperty)

results 表示图表关联数据集的结果数据,与上述 chart 对象的 chartDataSets 数组元素一一对应,在本例中,它的结构如下所示:

[
  {
    data:
	[
	  {month: "1月", sales: 11},
	  {month: "2月", sales: 41},
	  ...
	]
  }
]

在了解 chart 、results 参数结构后,就可以使用它们来实现 myChartRenderer 的 render 和 update 函数了:

<!DOCTYPE html>
<html>
<head>
...
<script type="text/javascript">
//自定义图表渲染器
var myChartRenderer=
{
  render: function(chart)
  {
    var chartDataSet = chart.chartDataSetMain();
    
    //图表标题:"各月份销售额图表"
    var title = chart.name;
    //图表X轴标签:"月份"
    var xAxisName = chart.dataSetPropertyAlias(chartDataSet, "month");
    //图表Y轴标签:"销售额"
    var yAxisName = chart.dataSetPropertyAlias(chartDataSet, "sales");
    //图例名、系列名:"各月份销售额"
    var seriesName = chart.dataSetAlias(chartDataSet);
    
    var options =
    {
        title: { text: title },
        legend: { data: [ seriesName ] },
        tooltip: { trigger: "axis" },
        xAxis: { name: xAxisName, type: "category", data: [] },
        yAxis: { name: yAxisName, type: "value" },
        series:
        [{
            name: seriesName,
            type: "line",
            data: []
        }]
    };
    
    //初始化ECharts
    chart.echartsInit(options);
  },
  
  update: function(chart, results)
  {
    var chartDataSet = chart.chartDataSetMain();
    var result = chart.resultOf(results, chartDataSet);
    
    //X轴刻度:[ "1月", "2月", ... ]
    var xAxisData = chart.resultRowArrays(result, "month");
    //折线数据:[ {name:"1月", value: 11}, {name:"2月", value: 41} ]
    var seriesData = chart.resultNameValueObjects(result, "month", "sales");
    
    var options = chart.inflateUpdateOptions(results,
    {
      xAxis: { data: xAxisData },
      series: [ { data: seriesData } ]
    });
    
    //更新图表数据
    chart.echartsOptions(options);
  }
};
</script>
</head>
<body>
  <div dg-chart-renderer="myChartRenderer" dg-chart-widget="[上述图表ID]"><!--各月份销售额图表--></div>
</body>
</html>

自定义图表完成!效果如下图所示:
在这里插入图片描述

官网地址:
http://www.datagear.tech

源码地址:
Gitee:https://gitee.com/datagear/datagear
Github:https://github.com/datageartech/datagear

大屏模板地址:
https://gitee.com/datagear/DataGearDashboardTemplate

DataGear:国产开源数据可视化平台的灵活扩展与多源整合实践 本文详细介绍了国产开源数据可视化平台DataGear的灵活扩展与多源整合实践。通过模块化设计和驱动扩展机制,DataGear能快速对接多种数据源,特别适合国内企业需求。文章分享了混合数据源配置、实时数据看板搭建、自定义图表插件开发等实战技巧,以及企业级安全部署方案,帮助用户高效实现数据可视化需求。 阅读详情

相关推荐

DataGear数据可视化分析平台

DataGear是一款数据可视化分析平台,使用Java语言开发,采用浏览器/服务器架构,支持SQL、CSV、Excel、HTTP接口、JSON等多种数据源,主要功能包括数据管理、SQL工作台、数据导入/导出、数据集管理、图表管理、看板管理等。 系统特点: 1、可管理数据库驱动 可通过驱动程序管理功能添加数据库驱动程序,无需重启,即可支持连接新数据库; 2、多种格式的数据集 支持SQL、CSV、Excel、HTTP接口、JSON等多种格式的数据集; 3、多数据集聚合图表 一个图表可添加多个不同格式的数据集,将它们聚合展示; 4、插件式图表类型 每一种类型的图表都以图表插件形式提供,并内置了大量图表插件,管理员也可上传自定义图表插件,丰富系统图表类型; 5、可自由编辑的HTML看板模板 看板使用原生的HTML网页作为模板,可自由编辑、绑定、异步加载图表,并支持将任意HTML网页导入为看板; 6、丰富的看板API 看板页面内置了大量的页面端API,可用于个性化扩展看板功能。 模块介绍: 1、datagear-analysis 数据分析底层模块,定义数据集、图表、看板API 2、datagear-connection 数据库连接支持模块,定义可从指定目录加载JDBC驱动、新建连接的API 3、datagear-dataexchange 数据导入/导出底层模块,定义导入/导出指定数据源数据的API 4、datagear-management 系统业务服务模块,定义数据源、数据分析等功能的服务层API 5、datagear-meta 数据源元信息底层模块,定义解析指定数据源表结构的API 6、datagear-persistence 数据源数据管理底层模块,定义读取、编辑、查询数据源表数据的API 7、datagear-util 系统常用工具集模块 8、datagear-web 系统业务web模块,定义web控制器、操作页面 9、datagear-webapp 系统Web应用程序组织模块,定义将系统构建为标准WAR程序包的结构 10、datagear-webappembd 系统独立应用程序组织模块,定义将系统构建为独立可执行程序的结构 依赖: Java 8+ Servlet 3.0+ 编译: (执行单元测试编译,需要预先配置单元测试环境) mvn clean package (不执行单元测试编译,无需预先配置单元测试环境) mvn clean package -DskipTests 运行: cd datagear-webappembd/target/datagear-[version] (Linux环境) ./startup.sh (windows环境) startup.bat 调试: 1、将datagear以maven工程导入至IDE工具; 2、将datagear-webapp作为Web应用添加至servlet容器(比如Tomcat); 3、以调试模式运行Servlet容器。 调试注意: 在调试开发分支前(dev-*),建议先备份DataGear工作目录([用户主目录]/.datagear), 因为开发分支程序启动时会修改DataGear工作目录,可能会导致先前使用的正式版程序、以及后续发布的正式版程序无法正常启动。 调试时,系统仅会在第一次启动时升级内置数据库(Derby),如果遇到内置数据库访问异常,需要查看 datagear-management/src/main/resources/org/datagear/management/ddl/datagear.sql 文件,从中查找需要更新的SQL语句,手动更新至内置数据库。 系统自带了一个可用于为内置数据库执行SQL语句的简单工具类org.datagear.web.util.DerbySqlClient,可以在IDE中直接运行。注意:运行前需要先停止DataGear程序。 DataGear数据可视化分析平台 更新日志: v2.9.0 重构内置表格图表配置项,支持细粒度配置表格样式

基于开源工具的数据分析_基于java的开源BI可视化工具——DataGear使用教程

1. 简介DataGear是一款开源免费的数据可视化分析平台,使用java语言开发,采用B/S架构,支持多种数据源接入(SQL、CSV,HTTP接口,JSON,EXCEL等),主要功能包括数据管理,数据导入导出,数据集管理,echarts图表管理,dashboard管理等。系统特点:Ø 可管理数据库驱动可通过驱动程序管理功能添加数据库驱动程序,无需重启,即可支持连接新数据库。Ø 多种格式的数据集支...

weixin_30916627的博客 3312

深度学习12—VGG19实现

state_dict = load_state_dict_from_url(model_urls['vgg19'],model_dir='./model' ,progress=progress)#预训练模型地址。accuracy=((out.argmax(1)==label).sum()).clone().detach().cpu().numpy()#正确预测的总和比测试集的长度,即预测正确的精度。image=torch.reshape(image,(1,3,224,224))#四维图形,RGB三个通。

m0_55196097的博客 2442

DataGear 数据可视化表格图表常用配置示例

DataGear 内置表格图表底层采用的是DataTable表格组件,在数据可视化看板中,可以通过dg-chart-options设置表格选项,具体选项可参考https://datatables.net/reference/option/,本文仅列出一些常用配置示例。 注意:下面这些配置示例需要DataGear-2.1.1及以上版本。

datagear的博客 5717

从开通VPS到搭建宝塔面板全教程

你在输入域名(此时我们可能没有类似aaa.com这样的域名,所以要输入VPS的IP地址)的时候,下面的根目录也会跟着变动,等输入完成后,你可以把根目录再改回成/www/wwwroot/dq。这时,在你的浏览器中,输入外网面板地址的URL,输入username和password,即可登陆宝塔面板。第一次登陆,需要绑定你的宝塔账号,你可以到宝塔的注册界面,用手机注册一个,然后绑定,首先看一下你的VPS操作系统是什么类型的(其实你在选择VPS的时候,就已经选定了,我选择的事Centos系统)。

kxltsuperr的专栏 3734

三维变换矩阵实战——三维点云的旋转、缩放、镜像、错切、平移、正交投影

旋转矩阵:右边矩阵是点云的原始坐标,左边的是旋转矩阵可视化:绕x轴旋转90度。

weixin_43850909的博客 8227

DataGear 国产开源BI

DataGear是一款数据管理与可视化分析平台,使用Java语言开发,采用浏览器/服务器架构,支持多种数据库, 主要功能包括数据管理、SQL工作台、数据导入/导出、数据集管理、图表管理、看板管理等。 系统特点: 可管理数据库驱动 管理员可通过驱动程序管理功能添加数据库驱动程序,无需重启,即可支持连接新数据库。 参数化数据集 可编写动态SQL语句数据集,为其添加参数,构建可交互式图表。 多数据源聚合图表 一个图表可添加多个不同数据源的数据集,将不同数据源的数据聚合展示于同一图表。 插件式图表类

xcagy-国际性的文档记录中心 4941

crazyswarm无人机集群搭建笔记(一)资料索引

crazyswarm无人机搭建笔记:资料收集

Coco_range的博客 806

DataGear 自定义数据可视化图表插件

DataGear内置的70余种图表(折线图、柱状图、饼图、散点图、雷达图、地图、桑基图、K线图、箱形图、路径图等等),都是以图表插件的形式提供的,当这些内置图表无法满足应用需求时,则可以通过自定义图表或插件的方式,实现特定业务的数据可视化需求。

datagear的博客 1997

专访高性能计算专家赵开勇:无人机/机器人开发实战,如何优化深度学习?

从能够自主飞行的无人机,到能和小朋友玩物体识别等游戏的机器人,极客们对智能设备追求没有止境。除了轻巧的体积、超长的续航,更重要的是要有一个智能的“大脑”,来实现人类能够想得到的人机交互,或者智能化的自主决策和行为动作,毫无疑问强大的深度学习能力不可或缺。那么,拒绝束缚人类想象力的嵌入式智能设备,其开发工作需要什么样的环境和工具?开发者进行相关开发的可行思路是什么?近日,优快云记者就此专访了智能设...

happytofly的博客 3509

告别Win11睡眠假死:深入解析Modern Standby S0与S3冲突及注册表修复方案

本文深入解析了Windows 11中Modern Standby(S0)与传统睡眠(S3)模式的冲突,该冲突是导致电脑睡眠后出现假死、断网等问题的根源。文章提供了通过修改注册表键值(PlatformAoAcOverride)强制启用稳定S3睡眠的终极修复方案,并附有详细诊断步骤与避坑指南,帮助用户彻底解决睡眠故障。

ol789012的博客 823

DataGear 自定义数据可视化看板的图表主题

DataGear看板的dg-chart-theme属性,提供了简单且强大的自定义图表主题功能。 通常,只需要设置其color、backgroundColor、actualBackgroundColor值即可, 看板会根据它们自动生成标题、图例、提示框、高亮框等相关配色。 例如,定义全局图表配色: <body style="background-color: #17336c" dg-chart-theme="{ color:'#FFF', backgroundColor:'#17336c

datagear的博客 2465

【AI编程】2025年16款主流AI编程工具全维度测评及选型指南

2025年16款主流AI编程工具全维度测评及选型指南

funfan的博客 1万+

DataGear 制作基于Vue2、Element UI前端框架的数据可视化看板

DataGear 数据可视化看板内置了一些基本、简单的页面交互组件,当它们无法满足实际看板需求时,可以引入更流行和强大的前端框架。本文以Vue2、Element UI前端框架为例,介绍如何制作具有更丰富交互组件功能的数据可视化看板。

datagear的博客 3296

【AUTOSAR-E2E】-1.4-详述E2E Transformer解决方案

共13页精讲 目录 1“Data Transformation”介绍 1.1 基于SOME/IP Transformer 1.2 基于COM Based Transformer 2 ComXf(COM Based Transformer)介绍 2.1 ComXf(COM Based Transformer)功能规范 2.2 ComXf(COM Based Transformer)提供的服务 2.3 配置注意事项 3 E2EXf(E2E Transformer)介绍 3.1 E2EX...

「汽车电子助手」的博客 4700

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

DataGear 4.1.1 发布,数据可视化分析平台

DataGear是一款开源免费的数据可视化分析平台,自由制作任何您想要的数据看板,支持接入SQL、CSV、Excel、HTTP接口、JSON等多种数据源

datagear的博客 771

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

DataGear 使用静态HTML模板快速制作数据可视化看板

DataGear看板提供了导入静态HTML模板的功能,使您可以利用现有的HTML模板资源快速制作动态可视化数据看板。 首先,您需要准备一套已设置好布局的静态HTML模板,其中包含的HTML主页及相关资源,例如: index.html css/ |---style.css |---images |---bg.png |---bg_head.png 它的静态效果如下图所示: 然后,将这套静态HTML模板压缩到一个ZIP文件中(注意index.html及其资源要直接放在压缩

datagear的博客 3731

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

深度学习工具包 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")

4.5k star,一款开源的数据可视化分析平台,提供多种大屏模板,非常炫酷

点击关注公众号,实用技术文章及时了解DataGear是一款开源的数据可视化分析平台,可自由制作任何您想要的数据可视化看板,支持接入SQL、CSV、Excel、HTTP接口、JSON等多种数据源。系统主要功能包括:数据管理、SQL工作台、数据导入/导出、数据集管理、图表管理、看板管理等。功能特性动态接入多种数据源DataGear是一款开源的数据可视化分析平台,可自由制作任何您想要的数据可视化看板,支...

Java知音 1494

DataGear数据可视化:5分钟免费上手完整指南

DataGear是一款基于Java开发的开源数据可视化分析平台,采用LGPL-3.0协议。该项目致力于让用户自由制作任何想要的数据看板,核心功能包括数据源管理、看板设计、图表联动等,支持通过HTML自由定制可视化看板,实现从数据接入到可视化展示的全链路管理。 ## 🚀 DataGear核心优势速览 - **私有化部署**:数据完全自主掌控,无需担心数据泄露 - **多数据源支持**:SQL数

gitblog_00183的博客 903

一款开源的数据可视化分析平台,提供多种大屏模板,非常炫酷

点击关注公众号,实用技术文章及时了解DataGear是一款开源的数据可视化分析平台,可自由制作任何您想要的数据可视化看板,支持接入SQL、CSV、Excel、HTTP接口、JSON等多种数据源。系统主要功能包括:数据管理、SQL工作台、数据导入/导出、数据集管理、图表管理、看板管理等。功能特性动态接入多种数据源DataGear是一款开源的数据可视化分析平台,可自由制作任何您想要的数据可视化看板,支...

1356

基于JAVA的数据可视化分析平台,自由制作任何您想要的数据看板,支持接入SQL、CSV、Excel、HTTP接口、JSON等

数据分析底层模块,定义数据集、图表、看板API数据库连接支持模块,定义可从指定目录加载JDBC驱动、新建连接的API数据导入/导出底层模块,定义导入/导出指定数据源数据的API系统业务服务模块,定义数据源、数据分析等功能的服务层API数据源元信息底层模块,定义解析指定数据源表结构的API数据源数据管理底层模块,定义读取、编辑、查询数据源表数据的API系统常用工具集模块系统web模块,定义web控制器、操作页面。

Python代码大全 2031

DataGear 6.0.0 新特性之本地图表

DataGear 6.0.0版本新增看板API-2.0环境,支持本地图表功能。与API-1.0不同,本地图表无需预先在图表管理模块创建,可直接通过dg-chart-local元素属性定义使用。本文以内置折线图插件为例,演示了如何定义本地图表:先声明图表配置(包含数据集字段绑定),再编写图表取数器函数生成随机数据,最后通过HTML元素展示图表。这种新特性简化了图表使用流程,提高了开发灵活性。完整示例代码和文档链接已提供,便于用户参考实现数据可视化需求。

datagear的博客 234

java服务器上传工具wxc,GitHub - wxc-learn/datagear: 数据可视化分析平台,使用Java语言开发,采用浏览器/服务器架构,支持SQL、CSV、Excel、HTTP接口、...

DataGearDataGear是一款数据可视化分析平台,使用Java语言开发,采用浏览器/服务器架构,支持SQL、CSV、Excel、HTTP接口、JSON等多种数据源,主要功能包括数据管理、SQL工作台、数据导入/导出、数据集管理、图表管理、看板管理等。系统特点可管理数据库驱动可通过驱动程序管理功能添加数据库驱动程序,无需重启,即可支持连接新数据库多种格式的数据集支持SQL、CSV、Excel...

weixin_40002224的博客 217

DataGear制作基于three.js的3D数据可视化看板

DataGear支持采用原生的HTML、JavaScript、CSS制作数据可视化看板,也支持导入由npm、vite等前端工具构建的前端程序包。得益于这一特性,可以很容易制作基于three.js的3D数据可视化看板

datagear的博客 1920

Datagear看板API完全解析:从基础调用到高级交互功能实现

Datagear是一款功能强大的数据可视化分析平台,通过其丰富的看板API,用户可以轻松实现从基础数据展示到高级交互功能的完整需求。本文将系统介绍Datagear看板API的核心功能、调用方法及实战应用,帮助开发者快速掌握API使用技巧,打造个性化数据看板。 ## 一、Datagear看板API基础架构 Datagear的API体系基于RESTful设计风格,通过HTTP请求实现与看板的交互。

gitblog_00380的博客 1054

DataGear 6.0.0 发布,数据可视化分析平台

DataGear 6.0.0发布,主要更新包括:重构看板API-2.0环境、新增源码编辑功能和数据类型支持、增强图表与安全性功能。此前5.5.0版本新增响应式布局、服务端分页等功能,5.4.0版本扩展了数据集类型支持和完善图表API。DataGear是一款开源数据可视化平台,支持自由创建数据看板,官网和源码均已提供。系统截图展示了看板展示、数据钻取、地图联动等核心功能。

datagear的博客 557
上一篇: DataGear 2.8.0 发布,数据可视化分析平台
下一篇: DataGear 数据可视化表格图表常用配置示例
DataGear
博客等级 码龄6年 293粉丝 69原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值