c# 后端 用Echart 饼状图显示供应商排名

C# MVC 封装百度的EChart完整例子 使用C#的MVC封装了EChart图表。类EChartJson包含了绘制图形的几种基本要素,大家可以根据需要扩展EChart的更多图表属性,当然这个需要各位多了解百度EChart图表的各种属性描述。方法getJsonData()负责在后台为EChartJson的实例初始化数据,并返回json数据。关键是前台显示图表,省去了大量的工作。 立即下载

前段时间给客户做了一个供应商按照采购额排名图表的展示

整体思路:c#后端获取排名信息,json传输到前端,前端jquery解析数据并赋值给图表

1.后端代码

  List<BuyStatByVenSumModel> list = new List<BuyStatByVenSumModel>();
            BuyStatByVenSumPara Para = new BuyStatByVenSumPara();
            BaseMessage msg = new BaseMessage();
            try
            {
                msg = GetBuyStatByVenTop(Para);
                if (msg.Flag)
                {
                    list = Para.DataList;
                }

            }
            catch (Exception ex)
            {
                
            }
            return Json(list, JsonRequestBehavior.AllowGet);

2.前端代码

/*按供应商排行统计采购额数据获取 */
        function GetVenTopChartData() {
            var VenArr = [];
            var VenDataArr = [];
            $.ajax({
                url: '/GetBuyStatByVenTop',
                data: {},
                type: "post",
                dataType: "json",
                timeout: 30000,
                async: false,
                success: function (data) {
                    var maxnum = 0;
                    if (!!data) {
                        if (data.length > 0) {
                            
                            for (var i = 0; i < data.length; i++) {
                                var obj = new Object();
                                VenArr.push(data[i].VenName);
                                obj.name = data[i].VenName;
                                obj.value = data[i].IMoney;
                                VenDataArr[i]=obj;

                            }
                        }
                    }
                    PieVen(VenArr, VenDataArr, maxnum);
                }
            });
        }

3.图表代码

function PieVen(xdata, ydata, maxnum) {
            var mypie = echarts.init(document.getElementById("BuyStatByVenTop"));
            optionpie = {
                title: {
                    text: '供应商采购排名',
                    subtext: '前五名',
                    left: 'center'
                },
                tooltip: {
                    trigger: 'item',
                    formatter: '{a} <br/>{b} : {c} ({d}%)'
                },
                legend: {
                    type: 'scroll',
                    orient: 'vertical',
                    right: 10,
                    top: 20,
                    bottom: 20,
                    data: xdata
                },
                series: [
                    {
                        name: '采购额:',
                        type: 'pie',
                        radius: '55%',
                        center: ['40%', '50%'],
                        data: ydata,
                        emphasis: {
                            itemStyle: {
                                shadowBlur: 10,
                                shadowOffsetX: 0,
                                shadowColor: 'rgba(0, 0, 0, 0.5)'
                            }
                        }
                    }
                ]
            };
            mypie.clear();
            mypie.setOption(optionpie, true);
        }

C# ECHART WPF 开发,非常漂亮的demo ECHART C# WPF, 立即下载

相关推荐

C#上的echarts的例子

C#上的echarts的例子,简单明了,一看就会

.NET WinForms(C#)中使用Echarts绘制图表

使用.NET 6编写Winforms时,需要绘制图表,发现.NET Core中默认不支持Chart控件。经过查询,使用CefSharp控件和Echart图可以实现想要的显示效果。

weixin_44453199的博客 7899

C51编程25-应用篇(单片机与电脑端实现wifi通讯)

单片机使用ESP-01S wifi模块与电脑端进行数据通讯。

qq_34343637的博客 1万+

C#插入Echarts图表

开发工具与关键技术:VS C# 作者:梁茵茵 撰写时间:2019年7月16日 我们在做项目的时候常常为了页面显示的数据可以美观得体,便会用到一个Echarts插件来实现图表显示数据的效果。echarts3-docs手册里有详细的使用说明,下载echarts3-docs解压后千万不要放在中文目录里,建议直接放到D/E/F…等盘的根目录下。解压之后如果无法启动就要修改文件里面的端口号,修改完之后访...

weixin_44543312的博客 3711

利用HipSTR从二代测序数据中精准解析短串联重复序列(STR)的遗传多态性

本文详细介绍了如何利用HipSTR工具从二代测序(NGS)数据中精准解析短串联重复序列(STR)的遗传多态性。通过三步走策略,HipSTR能够高效识别STR区域、估算重复次数并判定基因型,适用于法医鉴定、疾病研究和细胞系鉴定等多个领域。文章还提供了实战操作指南和常见问题解决方案,帮助研究者充分利用NGS数据开展STR分析。

weixin_28702105的博客 483

基于51单片机的智能灌溉系统

基于51单片机的智能灌溉系统

jiejiezuishuai的博客 2103

C# JS Echart 值的填充和属性调整

/ color: "#E0F8F7" // 0% 处的颜色。// color: "#58ACFA" // 100% 处的颜色。// color: "#EFEFFB" // 60% 处的颜色。position: 'top', //数据值位置。position: 'top', //数据值位置。normal: { //柱状图颜色。z: "-1",//更改柱状图位置。

一只没有感情的AI机械猿 370

【时空数据分析#06】实战:基于Python与ArcGIS的NDVI长期趋势制图与分级

本文详细介绍了基于Python与ArcGIS进行NDVI长期趋势制图与分级分析的完整工作流。通过整合MODIS卫星数据,利用ArcGIS进行空间处理与栅格转换,结合Python进行时序统计与趋势计算,最终生成直观的植被变化趋势分级图,为生态评估与环境监测提供可靠的空间分析工具。

lilh34434的博客 479

C# echarts快速制表属性大全

// 图表标题 title: { x: 'left', // 水平安放位置,默认为左对齐,可选为: // 'center' ¦ 'left' ¦ 'right' // ¦ {number}(x坐标,单位px) y: 'top', // 垂直安放位置,默认为全图顶端,可...

一杯咖啡的博客 564

高数 | 【极限与等价无穷小】两个重要极限 & 经典错误 & 什么情况下求极限可以直接带入

一. 第一个重要极限 二. 第二个重要极限 三. 导数定义式 全文见【高等数学】两个重要的极限 - 知乎

"You are worthy! You can do it!" 6万+

【WRF数据准备】气象驱动数据-ERA5再分析数据(Copernicus)

【WRF数据准备】气象驱动数据-ERA5再分析数据

WW、forever的博客 5539

C# webBrowser控件调用echart

C#调用Echart Echart对于数据展示相当优美,前端调用很方便,对于古老的Winform如何调用呢? 下载Echart Echart官网 下载后得到:echarts.js 和 echarts.min.js html中引入: <!-- 引入 ECharts 文件 --> <script src="echarts.min.js"></script> 之后可以调用Echart使用,主要是对Echart的option设置。 Echart Option主要参数说明

静默与黑白的博客 2900

RK3399平台开发系列讲解(内核入门篇)1.1、通过sysfs清楚了解设备的系统状况

文章目录1、不敢高声语,恐惊天上人:sysfs目的2、窥一斑而知全豹:sysfs目录介绍3、千丝万缕:sysfs中要素的关系4、数据观星:sysfs中相关结构体 1、不敢高声语,恐惊天上人:sysfs目的 我们想通过sys下面的目录和文件清楚的了解跑Liunx系统的嵌入式设备的系统状况。 2、窥一斑而知全豹:sysfs目录介绍 sysfs把连接在系统上的设备和总线组织成为一个分级的文件,它们可以由用户空间存取,向用户空间导出内核的数据结构以及它们的属性。sysfs的一个目的就是展示设备驱动模型中各组件.

内核笔记 1万+

WPF+ webbrowser+Echarts

一.下载ECharts ECharts的版本为2.2.7,下载链接如下:https://codeload.github.com/ecomfe/echarts/zip/2.2.7 二.准备ECharts的使用环境 可使用webbrowser这个控件来加载本地的html文件,参考:http://www.cnblogs.com/MaKui/archive/2011/08/02/2128842.ht...

宅女的博客 1551

基于STM32L4XX、HAL库的 L76KB-A58定位模块驱动程序设计

/ 确保字符串终止。// 缓冲区溢出,重置。// 重置缓冲区索引。支持GPS、GLONASS、Galileo、北斗和QZSS多系统定位。case 1: // UTC时间。// 配置GPS模块(可选)// 查找GGA语句。// 启动UART接收。// USART1初始化函数。内置LNA和SAW滤波器。

zhusl6688的博客 350

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

echarts使用_C#使用Echarts图表库(二)

上一篇文章在使用Echarts最新版本时,发现js报错,原因是WebBrowser控件内置的IE版本太低,我们使用下面代码查看内置的IE版本。private void Form1_Load(object sender, EventArgs e) { if (webBrowser1.Document == null) { ...

weixin_39944595的博客 3228

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

C#Winform加载echart

链接:https://pan.baidu.com/s/1-1dLAkrRIslRfR3-U94lXA。echart 入门demo。

qq_40098572的博客 873

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C#中使用ECharts——Winform程序静态页面

ECharts不做过多介绍,只需要知道其是一个特别好用的数据处理的图形界面的js就行。 这里讲一下在C#中使用ECharts的方法,首先建立一个Winform程序,在窗口中添加一个WebBrowser控件,此控件主要用来加载后期的html文件。界面如下: 接着导入需要的第三方插件,即ECharts,通过NuGet查找,之后安装到项目中,也可以...

有问题请发邮箱dengyifanlittle@163.com进行讨论 8589

ECharts制作报表模板

最近公司的问题汇总平台差不多接近尾声,回顾前段时间领导任命做的报表真是别有一番成长波折;在这之前以为问题汇总平台就差不多完结了,结果原来压轴的在后面呢,报表的设计涵盖了本平台80%的核心内容,既然这么重要就更得放上十足的精神干了O(∩_∩)O~

一直在奋起,一直在路上 2万+

技术图文:如何利用C# + Echarts 绘制 Bar Simple?

背景 Echarts 是百度推出的一个使用 JavaScript 实现的开源可视化库。 该库提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。 既然 Echarts 提供了丰富的图形,所以咱们有必...

老马的程序人生 4494

技术图文:如何利用C# + Echarts 绘制「堆叠条形图」?

背景 前几天,我们介绍了 如何利用C# + Echarts 绘制 Bar Simple?,原以为把 Echarts 封装到这种程度就可以完成当前任务了。 可是,把软件原型提交给对方时,发现对方更希望“可视化设备发生缺陷的具体数据”。也即利用 堆叠条形图 来可视化设备缺陷的数据。 百度提供的详细Demo如下: 于是,咱们就需要在之前的基础上对 Echarts 进行近一步的封装。 技术分析 在...

老马的程序人生 5668

C# Chart图表应用

Chart控件是微软自带的一种图形可视化组件,使用简单灵活。在.NET4.0之后(即VS2010之后)已集成在了VS里面,直接拖拽控件到窗体即可使用。需要使用命名空间:using System.Windows.Forms.DataVisualization.Charting(拖拽控件时自动添加)。一个 Chart 可绘制多个 ChartArea,每个 ChartArea 可绘制多条 Series。

lingxiao16888的博客 7709

Echart 如何显示百分比

Echart 显示百分比需要更改的地方有三个: 1. Y轴yAxis : [
{ axisLabel: { formatter: '{value} %' } }
] tooltip tooltip: { formatter: '{c}%' } X series: [{

soindy 1万+

ECharts制作报表模板--.NET

原文出自:http://blog.youkuaiyun.com/makang456/article/details/52873121 【效果】 【实例】     一、html代码 [html] view plain copy   span style="font-family:KaiTi_GB2312;

LazyTojava的博客 1379

excel排名_排名数据应该用什么图表?Excel有这样的图表吗?- Excel图表教程

在分析业务数据时,经常需要分析数据的排名,比如各产品的销量排名,各业务组的业绩排名。本文通过一个具体的例子,介绍了当问题变化时,如何选择排名的展现方式。00 数据及问题下面是源数据,记录了产品在4年间的销量情况。我们希望更好的展现这份数据中产品的销量排名。问题是:你会用什么样的图表(或其他展现形式)来展现这个排名。01 初级 — 条形图在展现排名时,当然可以通过条形图(或柱形图)来实现。例如下图:...

weixin_39805387的博客 2万+
上一篇: entityframework 连接字符串加密
下一篇: SqlServer partition 函数使用
RunCodeAjax
博客等级 码龄6年 2粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值