报表应用图表charts显示数据

news/2025/11/13 17:49:17/文章来源:https://www.cnblogs.com/insus/p/19217196

在内网和手机,一直以文字和数据呈现。
上星期,浏览网页时,发现图表charts显示数据和报表,觉得不错的方式。
图表,如 https://echarts.apache.org/zh/index.html

Apache ECharts
一个基于 JavaScript 的开源可视化图表库
 2025-11-13_13-21-35

 

 花上好几天时间,分别使用javascript和vue实现,效果如下,
(echarts.min.4.3.0.js)
2025-11-13_10-49-45


(echarts.min.5.1.2.js)
2025-11-13_10-50-23

 

相同的数据,数据是来自网上,算是虚拟数据啦,没有经特别设置,只是使用echarts.min.js版本不同机而已。
 
<script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>

或者

<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.2/echarts.min.js"></script>

亦可以下载并拉放至项目Scripts目录中,然后在网页上引用即可。
<script src="~/Scripts/echarts.min.4.3.0.js"></script>

或者,

<script src="~/Scripts/echarts.min.5.1.2.js"></script>

 

以上,只是行动中的第一步。

接下来,准备一些数据,
[{"category": "电子产品","sales": 12500,"count": 320,"profit": 4500},{"category": "服装","sales": 8900,"count": 540,"profit": 2200},{"category": "食品","sales": 7600,"count": 890,"profit": 1800},{"category": "家居","sales": 10200,"count": 430,"profit": 3100},{"category": "图书","sales": 5400,"count": 670,"profit": 1200},{"category": "运动","sales": 6800,"count": 380,"profit": 1900}
]
View Code


做测试,可以把数据存储为json文件,放在App_Data目录。

2025-11-13_11-15-00


当然你想通过数据库的话,如ms sql Server数据库,你得创建表,把数据存储起来,创建存储过程,让中间层访问得到数据。

CREATE TABLE [dbo].[SalesData]([Category] [nvarchar](40) NOT NULL PRIMARY KEY,[Sales] [int] NULL,[Count] [int] NULL,[Profit] [int] NULL
)
GO

 

INSERT INTO [dbo].[SalesData]([Category],[Sales],[Count],[Profit])VALUES(N'图书',5400,670,1200),(N'家居',10200,430,3100),(N'服装',8900,540,2200),(N'电子产品',12500,320 ,4500),(N'运动',6800,380,1900),(N'食品',7600,890,1800)
GO

 

 CREATE PROCEDURE [dbo].[usp_SalesData_Select_All]ASBEGINSELECT [Category],[Sales],[Count],[Profit]FROM  [dbo].[SalesData]END
GO

 

创建model,不管是从json文档读取数据,还是从数据读取数据,需要转换为对象。
2025-11-13_11-59-01

 

创建Entity,
2025-11-13_13-08-27

 


创建API,为下面javascript或是vue get到数据,实现异步操作。
2025-11-13_13-51-10

 

上面的准备,差不多了。
对了,还差一些Scripts,如axios.js和vue.js。在项目中,打开Manage NuGet Package...
2025-11-13_15-58-10

 
下面Insus.NET先来使用javascript实现图表,

Html,

<div style="height: 100%;"><div id="main" style="width: 600px;height:400px;"></div>
</div>


Javascript,首先引用,

<script src="~/Scripts/axios.min.js"></script>
<script src="~/Scripts/echarts.min.5.1.2.js"></script


2025-11-13_16-12-11

 

2025-11-13_16-15-18

 

下面的代码演示,是以vue来实现,
<script src="~/Scripts/vue.min.js"></script>
<script src="~/Scripts/axios.min.js"></script>
<script src="~/Scripts/echarts.min.5.1.2.js"></script>

 

在html中,需要添加一个vue的加载节点,
<div style="height: 100%;"><div id="app"><div id="main" style="width: 600px;height:400px;"></div></div>
</div>

 

vue代码示例,
2025-11-13_16-32-31

 

下面的generate_echarts() function与js的方法大同小异。
2025-11-13_16-40-13


完整程序算是完毕。

分享一下,一开始学习图表呈现,是先从vue开始的。
遇上瓶颈啦,在javascript代码死活访问不了Vue内axios异步数据。

2025-11-12_16-20-37

查阅N多相关技术与资料,
想取得vue.js的Data()内的变量属性property,有人说要使用vue的实例名,

var vue_echarts = new Vue({el: '#app',//...
})

vue_echarts.$data.//this.echarts_data_source 
这是得不到数据的。

也有网友说,这个是引用型赋值 ,不能直接使用=
要使用copy。

this.echarts_data_source = data.Data.slice();
this.echarts_data_source = JSON.parse(JSON.stringify(data.Data));

或者,

this.echarts_data_source = data.Data.map(x => x);

均行不通。

还尝试过,使用for来把所有对象一一重新push

for (var k = 0; k < data.Data.length; k++) {var o = data.Data[i];this.echarts_data_source.push(o)
}

 

还想过,

data: {echarts_data_source =[],xaxis_data =[],series_data = []
},

添加最终2个数据,xaxios_data和series_data。

for (var k = 0; k < data.Data.length; k++) {var o = data.Data[i];this.xaxis_data.push(o.Category);this.series_data.push(o.Sales)
}

 

办法尝试过许多,
无法突破,只好请教好朋友...
不要使用混合模式,可以以下2种解决方案,
完使用javascript,抛弃vue。
另外一个方案,
直接使用使用uve。图表创建,生成以及option数据设置完全在vue内生成。
哈哈哈... 茅塞顿开,思路一下子开窍。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/964550.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年成都火锅精选:春熙路周边这9家不容错过,火锅店/火锅/美食/老火锅/特色美食/社区火锅/烧菜火锅品牌排行榜单

成都火锅市场深度解析 作为川渝美食文化的代表,成都火锅市场近年来呈现出蓬勃发展的态势。据行业数据显示,成都火锅市场规模已突破百亿,年增长率保持在15%以上。在春熙路这一成都核心商圈,火锅品牌的竞争尤为激烈,…

2025权威测评床垫十大品牌推荐:科学数据引领睡眠新革命

根据国际睡眠产品协会(ISPA)最新发布的《2025全球睡眠健康报告》显示,超过67%的成年人正在使用不合适的床垫,导致平均每晚减少42分钟深度睡眠时间。与此同时,中国家具协会的调研数据表明,在升级床垫后,78%的用户…

什么?就是kotlin中MutableStateFlow和MutableSharedFlow的区别

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年红砖选购避坑指南:这些口碑品牌值得信赖,新洲排行前列的红砖批发厂家推荐排行榜技术引领与行业解决方案解析

红砖行业深度观察:品质与服务成选购关键 随着建筑行业持续发展,红砖作为基础建材的市场需求保持稳定。在众多红砖供应商中,消费者如何选择优质可靠的产品成为关注焦点。本文基于市场调研数据、用户反馈及企业综合表…

商业透明展示柜价格多少钱一平方济南市场行情

近年来,商用冷柜及展示设备市场受原材料价格波动、物流成本变化与区域消费能力差异等多重因素影响,呈现出显著的价格梯度特征。以济南为例,作为华北地区重要的商贸节点城市,其对商业透明展示柜的需求持续增长,涵盖…

2025年行业内做得好的PE重包装袋直销厂家推荐排行榜,PE重包装袋厂家聚焦优质品牌综合实力排行

行业背景与评选标准 随着全球包装行业向环保化、高性能化方向发展,PE重包装袋作为第四类环保包装材料,在化工、食品等领域的应用持续扩大。本文基于企业生产能力、技术设备水平、产品质量认证、市场覆盖范围及客户复…

C++面试题2

二、常见面试题2注意: 红色标题是面试笔试常遇到的题目 String 这个概率最高 Stl 面试官会问 红黑树 会问 vector 和list 会问 1、变量的声明和定义有什么区别 变量的定义为变量分配地址和存储空间, 变量的声明不分…

DeepSeek嘴替 -- “圈子里的演员”

“圈子里的演员”—— 他们在台词上,拒绝清晰的术语,偏爱模糊的“感觉”、“玄学”、“你懂的”。 他们在道具上,挥舞着别人看不懂的波形图、祖传代码片段和行业黑话。 他们的舞台,就是各种技术论坛、项目讨论会和…

云南归来不念风月!解锁小众玩法,幸得一位“自己人”导游

都说旅行是检验彼此的试金石,而一场完美的旅行,多半是遇到了一位对的人。这次云南之行回来,我笃信了这一点。 出发前,我和旅伴在“自由行”和“跟团游”之间纠结良久。既怕跟团的那种走马观花与购物陷阱,又担心自…

Koa系列教程:1. 创建项目

结论 mkdir koa-demo && cd koa-demo npm init -y npm install koa// 1. 引入Koa模块(CommonJS规范,Node.js默认支持) const Koa = require(koa);// 2. 创建Koa应用实例 const app = new Koa();// 3. 定义端…

2025年户外LED广告设备采购指南:优质供应商推荐,高铁广告/电梯框架广告/社区门禁广告/社区道闸广告/机场广告/电梯视频广告企业找哪家

评测背景 随着数字户外广告市场的持续增长,户外LED显示屏作为重要传播载体,其采购需求显著提升。据行业数据显示,2024年户外LED广告市场规模已达285亿元,预计2025年将突破320亿元。为帮助广告主做出更明智的采购决…

handsontable问题总结篇

handsontable问题总结篇表单滚动条滚动不到最底下 描述:表单有58行,但是滚动条只能滚动到33行。 原因:行高不一致,导致计算不准确 解决办法:rowHeights: 25, // 统一行高,确保计算准确,初始化定义即可,在其他地…

2025年烧菜火锅热门推荐,本地人评价最高的前十名,火锅/烧菜火锅/特色美食/美食/社区火锅品牌哪个好

烧菜火锅市场格局与消费趋势分析 近年来,烧菜火锅作为火锅细分领域的重要分支,在餐饮市场展现出强劲的发展势头。根据行业数据显示,烧菜火锅品类在川渝地区的年增长率达18.3%,成为火锅行业新的增长引擎。在众多烧菜…

Linux系统访问控制

概述 在 Linux 系统中,hosts.allow 和 hosts.deny 都属于 TCP Wrappers 的一部分,用于控制服务的访问权限。不过它们的应用方式有所不同: 默认情况下,这两个文件都不会主动限制任何访问。也就是说,如果 hosts.all…

2025年市面上比较好的河道护坡石笼网直销厂家有哪些,抗冲击抗腐蚀石笼网/镀锌低碳钢丝石笼网/六角石笼网源头厂家哪个好

行业背景分析 随着国家水利基础设施建设投入持续加大,河道护坡石笼网作为重要的防护材料,市场需求稳步增长。据行业数据显示,2024年我国石笼网市场规模已突破百亿元,年增长率保持在12%以上。在这一背景下,选择合适…

技术面:MySQL篇(为啥会有非关系型数据库?MySQL的数据存储一定在磁盘吗?)

有了关系型数据库,为什么还需要NoSQL这种非关系型数据库?MySQL的数据存储一定是基于磁盘的吗?关系型数据库 关系型数据库是一种基于关系模型(二维表结构)的数据库管理系统,数据以"行-列"的形式存储在表…

2025年经济型地胶厂家权威推荐榜单:国产优质地胶/性价比高的运动地胶/防火阻燃地胶源头厂家精选

在市场竞争日益激烈的背景下,优质且价格合理的经济型地胶已成为学校、社区活动中心及众多商业场所的优选地面材料,其市场需求年增长率稳定在10%以上。 经济型地胶作为建筑装饰领域的重要材料,凭借其出色的性价比、稳…

2025春熙路成都火锅排行榜,好吃不踩雷!火锅店/特色美食/社区火锅/火锅/老火锅/美食/烧菜火锅哪家好吃怎么选择

成都火锅市场深度解析 作为成都最具代表性的美食地标,春熙路商圈汇聚了众多火锅品牌。根据美团、大众点评等平台2024年第四季度数据显示,该区域火锅门店数量已达200余家,日均客流量超过5万人次。在激烈的市场竞争中…

NFC和RFID区别与联系解析

刷手机乘地铁、小区门禁刷卡开门、取快递时扫码溯源,你有没有好奇过背后的技术?其实生活中许多多多地方都藏着 NFC 和 RFID 的 “身影”!很多人分不清这俩 “无线识别兄弟” 在无线通信与识别技术体系中,NFC(近场…

2025年光伏电源定制厂商综合实力排行榜发布,氢能源车载直流转换器/电源模块/新能源车载逆变电源/军用电源/全国产化电源厂商找哪家

行业背景与评选标准 随着全球能源转型加速推进,光伏电源作为清洁能源系统的核心部件,其技术水平和产品质量直接影响整个光伏发电系统的运行效率。基于对市场公开数据的系统分析及企业综合实力评估,本文从技术研发能…