A. 前端用echarts实现表格形柱形图的有哪些
ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9 /10/11,chrome,firefox,Safari等),底层依赖轻量级的Canvas类库ZRender,提供直观,生动,可交互,可高度个性 化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。支持折线图(区域图)、柱状图(条状图)、散点图(气泡图)、K线图、饼图(环形图)、雷达图(填充雷达图)、和弦图、力导向布局图、地图、仪表 盘、漏斗图、事件河流图等12类图表,同时提供标题,详情气泡、图例、值域、数据区域、时间轴、工具箱等7个可交互组件,支持多图表、组件的联动和混搭展 现。模块化单文件引入(推荐)1新建一个echarts.html文件,为ECharts准备一个具备大小(宽高)的Dom,2新建script标签引入模块化单文件echarts.js,3新建script标签中为模块加载器配置echarts和所需图表的路径(相对路径为从当前页面链接到echarts.js),4script标签内动态加载echarts和所需图表,回调函数中可以初始化图表并驱动图表的生成,5浏览器中打开ecarts.html,就可以看到以下效果,:END标签式单文件引入新建一个echarts.html文件,为ECharts准备一个具备大小(宽高)的Dom,新建script标签引入echart-all.js,新建script,使用全局变量echarts初始化图表并驱动图表的生成,浏览器中打开echarts.html,可以看到如下效果,
B. 设计前端网页时如何实现数据可视化
这里介绍3个前端可视化库,分别是Highcharts、ECharts和G2,这3个库都可以快速完成前端网页数据可视化,而且制图方便、种类繁多,下面我简单介绍一下这3个库:
Highcharts
这是一个纯JS编写的图表库,可蠢悉厅以快速为Web网站添加交互式图表,个人网站可以免费使用,支持图表类型众多,包括常见的散点图、折线图、柱状图、饼图等,下面我简单介绍一下这个库的使用:
1.使用的话,有2种方式,一种是CDN远程引入highcharts.js文件,一种是下载
Highcharts源码包,本地导入,这里以第一种方法为例,直接CDN导入,测试代码如下,官网示例,非常简单,基本思路先创建一个div容器,然后通过JS引入图表到容器,设置相关属性就行:
用浏览器打开这个html文件,效果带隐如下:
2.更多示例的话,可以查看官网教程.cn/demo/highcharts,非常详细,各种图表都有涉及,还可以在线编辑,使用起来非常不错:
ECharts
这个是网络开发的一个开源前端可视化库,可以流畅的运行在移动设备和PC网页上,数据交互性也非常不错,而且支持个性化定制,下面我简单介绍一下这个库的使用:
1.首先,下载echarts.js文件,这个直接到官网上下载就行,大概也就2兆左右,如下:
2.下载完成后,就可以直接在本地html文件中引入使用了,测试代码如下,也非常简单,基本思路和上面highcharts差不多,先创建一个div容器,然后通过JS引入:
用浏览器打开这个html文件,效果如下,非常不错:
2.更多示例的话,也可以参考官网教程,相关图表示例非常多也很详细,提供在线编辑查看功能,很适合初学者掌握和学习:
G2
这个前端可视化库功能和highcharts、echarts差不多,由阿里开发,制图种类也比较多,交互性也非常好,简单易学,可以快速完成日常大部分图表制作,下面我简单介绍一下这个库的使用:
1.这里也可以通过远程引入,然后直接创建一个div容器显示就行,测试代码如下,非常简单,也是官网的入门示例:
浏览器打开后的效果如下,还不错:
2.更多示例的话,也可以参考官网教程,非常详细,各个种类的图表都有详细代码和注释,也可以在线编辑,非常适合开发者参考陆拆和学习:
目前,就分享这3个前端可视化库吧,对于日常前端制图来说足够了,当然,你也可以使用d3.js库来完成相同的制图功能也是可以的,网上也有相关教程和资料,感兴趣的话,可以搜一下,非常详细、丰富,希望以上分享的内容能对你有所帮助吧
C. web前端可视化图表怎么添加数据
需要调接口吗?不需要的话数据直接写在data里返回出去就好啦,调用接口的话,先定义一个空数组接收数据,返回出去,用prop调用就好
D. 大数据可视化大屏图表设计经验,教给你!
自从跟大家分享第一篇 《大数据可视化大屏设计经验,教给你!》 ,很多小伙伴都会问我一些相关的问题,看了小伙伴给我发的视觉稿,整体都还不错,但是发现图表的设计都有一些问题,大家可能对数据可视化的图表设计经验少一些,所以这篇文章就挖掘一下图表的细节表现,分享我曾经遇到过的坑和对图表设计的理解。
图表设计
图表设计概念
图表设计是数据可视化的一个分支领域,是对数据进行二次加工,用统计图表的方式进行呈现,也是数据可视化的核心表现,图表设计既要保证图表本身数据清晰准确、直观易懂,又要在找准用户关注的核心内容进行适当的突显,帮助用户通过数据进行决策。
下面分析三种常用的可视化图表设计:
折线图
折线图常用于表示数据的变化和趋势,坐标轴的不同对折线的变化幅度有很大的影响。
左图坐标轴设定的太低,折线变化过于陡峭,图中数值区间为(10-34)数据可视化的表现过于夸大了折线变化的趋势。
右图坐标轴的数值设定的太高,则折线变化过于平缓,无法清晰的表现折线的变化。
合理的折线图应当占据图表的三分之二的位置,图表的X轴数值范围应根据折线的数值增减变化而变化,这需要跟前端小哥哥小姐姐说明,做成动态计算。
折线图的折线粗细要合理,过细的折线会降低数据表现,过粗的折线会损失折线中的数据波动细节,视觉上较难精准找到折线点的相应数值!我通常用两个像素的线,看起来比较合适!
右图刻度线颜色过重,影响图表数据的表现,零基线跟图表内的刻度线对比不够明显,整体很乱。零基线是强调起始位置的,一般要比图表内的线颜色凸出一些。
条形图/柱状图
理想很丰满,现实很骨感。这个案例是我之前在工作中遇到的问题,数据进来后,被吓到了,问题的原因是没有跟前端小哥姐沟通好,他们把X轴写死,导致出现这种问题,其实应该情况要把这些图表的取值范围写成动态计算的。
例如,以现在数值范围为例,数据的最高值为18,X轴最高数值应该为25,当数据又上升一定的高度后,X轴再上升到相应的数值高度,这样避免了如右图的问题。
坐标轴的标签文字最好能水平排列, 当X轴标签文字过多时,不建议倾斜排列、上下排列、换行排列 文字多了这样的展示大大降低了阅读性!下图给出两个解决方案,大大提高标签文字的阅读性!
解决方案
柱子之间过于分散就会失去数据之间的关联性,过密就会变得数据之间没有独立性更不利于舒适阅读。
当柱子为n时,柱子直接的距离建议与n相差不要太大,柱子靠边的距离,最好是柱子之间的一半的距离,这样视觉上最为舒适。
饼图
左1图,不建议在饼图内与百分比数值一起显示,饼图本身的形状和大小,文字过多时容易溢出,如果出现一个2%一个1%,就很难辨别图形指向,这样也就失去了数据可视化的意义,PPT通常有这样的设计样式,因为是个死图。
左3图,人的阅读习惯是从左到右,从上到下,所以数据从大到小排列,更有助于阅读,图形也更具美感!
当饼图为检出率,或者一些重要信息检测的重点关注数据,就不建议大小数据顺时针排列,左1图这种情况一般很少出现,因为关注的是检出数值,展示未检出数据实为鸡肋,可能是极少情况的需要吧!
右图对于类似检出率的数据最为合适,直观清晰,没有无用数据干扰!
当饼图的标签维度过多时,就不适合把数据围绕饼图一周展示,会很乱,不易阅读,解决方案如右图!
图表分类图
分享一张图表分类大全,保存起来,设计数据可视化产品,会有重要参考价值!
这张图由设计师Abela对图表的各种特征进行了大致的概括总结。
E. 如何实现数据库中所有的表在vue前端页面中展示
使用cnpminstallecharts-D。
1、安装插件cnpminstallecharts-D。
2、创建图表,将数据引入。
3、使用容器,使chart自适应高度和宽度,通过窗体高宽计算容器高宽。
4、把这个案例模块化,设计成一个可复用组件,只需传入id、options即可。
F. 前端图表如果处理大量数据该怎么办
浅谈一下Cognos处理大数据的思路,仅针对10.2.1以下的版本,对于10.2.1当中引入的hadloop等分布式数据仓库等不做介绍。我们主要从一个一般中等项目当中,用怎样的思路来优化我们的查询。
我们主要从3个思路来思考大数据的处理
一、数据库层次
现在主流的Cognos项目,主要的开发模式还是基于rolap的dmr报表建模。因此,数据库的优化就显得由为重要。主要通过以下几个方面优化我们的数据库:
(1)维度id,维度层次id等关键减缩字段建立索引建立、维护。
(2)根据数据量的大小,按时间等进行分区优化。
(3)高速缓冲表MQT的使用
(4)表空间、缓冲池设置等
(5)数据库性能优化
二、Cognos Server优化
Cognos优化包括对配置文件的优化,集群的搭建,服务和日志的开启等基于cognos 软件安装,配置的优化,主要包括以下几个方面:
2.1 apache 配置优化
Timeout(超时)/MaxKeepAliveRequests(最大的请求数)/KeepAliveTimeout(请求超时)的优化配置
2.2Cognos自带tomcat配置调优
(1)可修改TOMCAT配置文件CRN_ROOT\tomcat.\conf\server.xml。其参数集中在行:
可以对maxProcessors(最大进程数)/AcceptCount(最大连接数) ConnectionTimeout(连接超时)进行修改
(2)文件路径:CRN_ROOT\tomcat.\conf\web.xml
可以对session-timeout进行修改.
2.3Cognos sever配置文件优化
2.3.1 reportservice.xml优化
文件路径:CRN_ROOT\ webapps\p2pd\WEB-INF\services\ reportservice.xml
注:修改文件后,重启服务后配置生效。
包括以下参数 max_process(交互报表处理进程数,和cpu有关) inger_process(交互报表初始化进程数,和cpu优关)
max_non_affine_connections_per_process(交互报表所占线程数) idle_process_check_interval_ms(空闲检测时间)
queue_time_limit_ms(报表服务队列时间限制) async_wait_timeout_ms(Dispatcher请求等待同步时间)
2.3.2 batchreportservice.xml
文件路径:CRN_ROOT\ webapps\p2pd\WEB-INF\services\ batchreportservice.xml
注:修改文件后,重启服务后配置生效。
包括以下参数 max_process(服务批量报表处理所占进程数) linger_process(服务批量报表处理初始化进程数)
max_non_affine_connections_per_process(服务批量报表处理所占线程数) idle_process_check_interval_ms(空闲进程检测时间间隔)
idle_process_max_idle_ticks(空闲进程检测标记) queue_time_limit_ms(批量报表处理排队时间限制) async_wait_timeout_ms(Dispatcher请求等待同步时间)
2.3.3 CQEConfig.xml
主要是与数据库参数设置,文件路径:CRN_ROOT\configuration\ CQEConfig.xml.sample
注:将CQEConfig.xml.sample文件名修改为CQEConfig.xml后,重启服务后配置生效。
可以修改以下参数:Timeout(应用数据库连接超时设置) PoolSize(应用数据库连接池最大连接数设置) queryReuse(查询缓冲设置)
2013-07-08 0
分享
答案对人有帮助,有参考价值1
曾力 - Cognos讲师、Cognos独立顾问、数据仓库架构师 2013-07-08 回答
2.3.4 ppds_cfg.xml
主要进行缓存和日志参数设置,文件路径:\cognos\c8\configuration\ ppds_cfg.xml
注:重启服务后配置生效。
可以修改以下参数:ReadCacheSize(可减少用户访问时服务器的磁盘IO。提高访问速度。) pcQueryLogFile(建议生产环境关闭该日志的跟踪,一般默认也是关闭状态)
2.4 Cognos content store优化
2.4.1优化内容库连接服务
内容库最好外配为db2 oracle等数据库,不要用自带的derby.因为项目中的日志信息会非常多,严重影响内容库的效率。
Cognos Administration,在系统下选择选择对应的服务,选择ContentManagerService的属性,设置相应的连接参数信息。
2.4.2日志优化
适当开启各个cognos服务的日志级别,越高级的级别对应更详细,更明确的日志,但也会影响整个系统的效率。
这是一把双刃剑,需要适当调整。日志级别设置得越高,就越降低系统性能。通常情况下,您可以将级别设置为
“最小”或“基本”来收集错误,或设置为“请求”来收集错误和警告。
2.5提高访问数据库速度
Cognos和数据库间参数在cer\bin\cogdm.ini文件中,(根据版本不同是安装目录的数字,根据连接的数据库不同,是对应数据库名称的关键字)
以oracle数据库为例,参数在cogdmor.ini文件中,打开这个文件查找字符串Fetch Number of Rows=去掉这行前面的分号,将10改成2000;
这样这行就成了Fetch Number of Rows=2000,表示是每次从数据库取2000条数据。其他数据库基本上都有类似的配置。用以提高从数据库中提取数据的速度。
2.6加大缓存
cer\bin\Cer.ini(*根据版本不同是安装目录的数字):
SortMemory=5120
(这里 SortMemory 单位是 2kbytes,5120代表 2k x 5120 = 10M)(技巧:一般 SortMemory 取空闲内存的十分之一到八分之一大小)
2.7修改cognos configuration中的参数来优化
在cognos configuration中有很多参数可以优化来提高整体软件的运行效率,比如增加内存、增加查询缓存
2.8分布式部署
分布式部署可以大大提升Cognos服务器的负载能力,同时容错保护功能可以使服务器更为稳定的运行,很好的支持大用户量的并发使用。
2013-07-08 0
答案对人有帮助,有参考价值1
曾力 - Cognos讲师、Cognos独立顾问、数据仓库架构师 2013-07-08 回答
3.报表设计优化
Cognos报表作为一个工具,在非cube模式下,最终我们执行报表查询的时候,我们的报表发送到数据库进行查询的本质还是sql,所以,在我们制作一张报表的时候,我们要尽可能的利用fm,rs当中的功能,优化报表最终执行生成的SQL实现整个报表的优化。而CUBE模式下,我们更多要考虑配置、存放和数据库大小所造成的影响,下面我会细细说来。
2013-07-08 0
答案对人有帮助,有参考价值1
曾力 - Cognos讲师、Cognos独立顾问、数据仓库架构师 2013-07-08 回答
3.1 FM建模优化
3.1.1手写SQL定制查询主题
右键点击查询主题的菜单项Edit Definition…可以进入SQL语句编写框,调整查询主题的SQL语句。默认情况下,这里的SQL语句为Cognos SQL类型。如果需要编写应用数据库可以直接运行的本地SQL需要将这里的SQL类型进行设置。点击右上方的Options按钮,选择SQL Settings标签页,选择SQL Type为Native。这个时候,我们手写SQL就非常注重这个SQL的优化,尽量避免SELECT *,用EXISTS替代IN,多使用DECODE来进行判断,条件语句注意点等常用SQL优化策略,编写对应的SQL.
3.1.2尽量使用特定数据的数据库函数
在菜单项Actions中选择Specify Package Function List…指定报表定制中可以使用的数据库函数列表。将除应用数据库意外的其他数据库类型从Selected function sets中选到Available function sets中,尽量使用特定数据库的自带函数可以提高查询效率。
3.1.3表关联设定
在建立表关联尽量避免使用外关联关系(包括左外关联、右外关联、全外关联)。外关联的使用会使数据库的查询压力骤增,从而影响前端报表的生成。在星型结构、雪花型结构的数据仓库模型中,尽量按照一对一、一对多的关联关系设定维表与实事表之间的关联,Cognos Server会依照这里的关联关系自动优化提交给数据库的SQL语句。如果关联关系中出现了环状连接关系,可以通过别名表或是快捷键的方式解决环状连接问题.
3.1.4Edit Governors查询性能设置
在菜单项Project中选择Edit Governors,可以设置查询的查询性能
Report table limits 该属性设置报表中运行SQL所涉及的TABLE数量
Data retrieval limits 该属性设置报表中运行SQL返回结果的数量
Query execution time limits 该属性设置报表中运行SQL的执行时间
Large text items limit 该属性设置报表中运行SQL返回大文字块的字符数量限制
2013-07-08 0
答案对人有帮助,有参考价值1
曾力 - Cognos讲师、Cognos独立顾问、数据仓库架构师 2013-07-08 回答
3.2 RS报表调优
3.2.1报表函数的使用
在报表函数的使用上,尽可能使用应用数据库能够解析的本地数据库函数,函数列表中的通用函数,在处理时会将函数放在报表服务器进行运算,从而增大了报表服务器的性能开销。
3.2.2 观察查询的SQL
我们选择查询页面,GENERATE SQL/MDX观察这个报表生成的SQL并进行不断优化,
3.3.33.2 RS报表调优
3.2.1报表函数的使用
在报表函数的使用上,尽可能使用应用数据库能够解析的本地数据库函数,函数列表中的通用函数,在处理时会将函数放在报表服务器进行运算,从而增大了报表服务器的性能开销。
3.2.2 观察查询的SQL
我们选择查询页面,GENERATE SQL/MDX观察这个报表生成的SQL并进行不断优化,
3.3.3查询字段、查询表顺序调整
根据数据库的优化策略,可能需要将查询字段的顺序进行调整,可以在Data Items窗口中进行设置。查询SQL语句中,From关键字后面的表顺序是按照select关键字后出现的字段顺序进行设置的。在为表顺序进行设置时,属性为Identifier或Attribute的字段比属性为Fact的字段在为表排序时的优先级要高,即,先以Identifier、Attribute字段的出现顺序为表进行排序,如果没有上述两类字段,才以Fact字段的出现顺序为表进行排序。
3.3.4聚合前后设置过滤条件
将过滤条件的Application属性设置为After aggregation或Before aggregation可以调整过滤条件在聚合前或是聚合后生效。After aggregation生成过滤条件的SQL语句使用的是关键字having,而Before aggregation生成过滤条件的SQL语句使用的是关键字where。
3.3.5取消报表自动分组提高明细报表查询速度
如果报表要展现明细数据,不想使用任何汇总,我们可以到此报表对应的查询中将自动分组属性定义为否。修改地方:对象的属性Auto Group & Summarize可以设置当前SQL语句的查询中是否加入distinct、sum、group by这样的关键字。默认情况下,该属性设置为Yes,可以根据查询情况关掉此开关项,减少SQL语句的复杂度。
3.3.6自动排序设置
在Query的Auto-sort属性中可以为查询设置是否自动排序。如果选择是,则会在生成的SQL语句中自动加入Order By关键字,排序字段将自动根据数据项的属性进行设置(如果查询字段的usage属性为Attribute、Identifier则排序,如果为Fact则不排序);如果选择否、则不排序;如果选择最小,则根据数据项的排序属性进行排序设置。默认值为最小。
3.3.7报表Processing设置
在Query的Processing属性中可以为查询设置SQL的处理设置。Cognos Report Studio会将报表的所有设置首先转换为Cognos SQL提交给报表服务器,服务器在进行必要处理后,会将SQL语句转换为应用数据库本地执行的SQL语句,进行数据库处理。为提高报表的处理速度,要尽可能的将报表的处理运算放在数据库进行,以保证其运行速度。将该属性设置为Database only会将报表页面生成的Cognos SQL不经报表服务器处理全部转换为数据库能够执行的本地数据库SQL,如果将该属性设置为Limited Local,则将报表页面生成的Cognos SQL先进行必要的报表服务器运算,然后再将剩余的部分提交给数据库进行本地SQL的处理。默认值为Framework中为Datasource对象的设置的queryProcessing属性。
3.3.8使用With子句
在Query的Use SQL With Clause属性中可以为查询设置是否使用With子句。部分数据库例如Oracle支持With关键字,当查询中嵌套子查询时,可以通过With子句的使用,减轻报表服务器对Cognos SQL的处理,从而提升报表的运行性能。如果将该属性设置为Yes,则允许使用With关键字,查询中生成的Native SQL将出现With子句;如果将该属性设置为No,虽然拒绝使用With关键字。默认值为Framework中Edit Governors下的Use WITH clause when generating SQL属性设置。
3.3.9报表服务器本地缓存设置
在Query的Use Local Cache属性中可以为查询设置是否使用本地缓存。如果将该属性设置为Yes,则启用服务器的本地缓存,服务器将为查询结果保存在session中,当用户在浏览器内再次打开同一张报表时,查询结果将取自缓存,从而减轻了数据库的负载压力;如果将该属性设置为No,则禁用服务器的本地缓存,查询结果全部取自数据库的实时数据。默认值为Framework中Edit Governors下的Allow usage of local cache属性设置。
我用的是finereport,比这个方便