JAVAå¼å人åç»å¾è¡¨æ»ç»ï¼ECHARTSï¼
JAVAå¼å人åç»å¾è¡¨æ»ç»ï¼ECHARTSï¼
éçå¤§æ°æ®çå°æ¥ï¼è¶æ¥è¶å¤çæ°æ®éæ±éè¦å¼åï¼èè¿äºéæ±ä¸å¯é¿å éè¦ä½¿ç¨JSç»åºå¾è¡¨ï¼è大å¤å端JAVAå¼å人å对JSä¸å¤ªçæï¼å¯¼è´èº«å¿ååæç£¨ï¼ä»å¤©è®°å½ä»¥ä¸æè¿æä½¿ç¨echartsçæ¥éª¤ï¼ä¾åèï¼
ä¸ãç¯å¢è¯´æ
åç«¯æ¡æ¶ï¼echartsãJquery
åç«¯æ¡æ¶ï¼SPRINGMVC
äºãå¼åè¿ç¨
å端代ç ï¼
<!doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> <script src="http://s1.bdstatic.com/r/www/cache/ecom/esl/1-6-10/esl.js"></script> </head> <body> <!-- 为EChartsåå¤ä¸ä¸ªå ·å¤å¤§å°ï¼å®½é«ï¼çDom --> <div id="main" style="height: 400px"></div> <script type="text/javascript"> $(function() { $.ajax({ url : "http://www.qunar.com/getJson", //è·åJSONå°å dataType : "text", success : function(data) { var result = eval(data); // è·¯å¾é ç½® require.config({ paths : { 'echarts' : 'http://echarts.baidu.com/build/echarts', 'echarts/chart/bar' : 'http://echarts.baidu.com/build/echarts' } }); var myChart; // ä½¿ç¨ require([ 'echarts', 'echarts/chart/bar' // ä½¿ç¨æ±ç¶å¾å°±å è½½bar模åï¼æéå è½½ ], function(ec) { // åºäºåå¤å¥½çdomï¼åå§åechartså¾è¡¨ myChart = ec.init(document.getElementById('main')); // 为echarts对象å è½½æ°æ® myChart.setOption(result[0]); }); } }); }); </script> </body> </html>
å¯¹äºææ¥è¯´ï¼ç¼åè¿äºJSæå°é¾äºã
1ãé¦å éè¦AJAXè·åæ°æ®
2ãéè¦ä¸echartsç¸äºç»å
3ãoptionè¿ä¸ªå¯¹è±¡æ¯æ ¸å¿ï¼å端éè¦çæç乿¯è¿ä¸ªå¯¹è±¡ã
è·åçåç«¯æ°æ®ï¼
[{"calculable":true,"graphType":null,"legend":{"data":["æ¥è¡¨"]},"series":[{"data":[1,2,3],"name":"æ¥è¡¨","type":"bar"}],"title":{"color":"red","fontSize":24,"link":"http://www.qunar.com","subText":"æ¥è¡¨","text":"å»åªå¿-æ¥è¡¨"},"tootip":{"show":true},"xAxis":{"data":[1,2,3],"type":"category"},"yAxis":{"data":[],"type":"value"}}]
å端å¦ä½çæè¿äºJSONæ°æ®å°±ä¸å¨è¿é说äºï¼ä»»ä½æä¾RESTæå¡æè SpringMVCé½è½å®ç°ãè¿ééè¦æ³¨æçæ¯ï¼å¦ææ³è¦é¿æä½¿ç¨echartsï¼å»ºè®®è¿æ¯å¥½å¥½é è¯»ææ¡£ï¼å 为任ä½çå°é误ï¼é½å¯è½å¯¼è´ææç¸å·®å¾å¤§ã
è½¬è½½æ¥æºï¼https://www.cnblogs.com/liqiu/p/3761353.html
echartså¨.Netä¸ä½¿ç¨å®ä¾(äº) 使ç¨ajax卿å è½½æ°æ®
åä¸ç¯æç« 龿¥ï¼echartså¨.Netä¸ä½¿ç¨å®ä¾(ä¸) ç®åçDemo
éè¿ä¸ä¸ç¯æç« å¯ä»¥ç¥éåechartsåèæåå¯ç¥ï¼seriesåæ®µå°±æ¯ç¨æ¥å卿们æ¾ç¤ºçæ°æ®ï¼æä»¥æä»¬åªéè¦ç¨ajaxæ¥è·åseriesçå¼å°±å¯ä»¥.
åç§° | æè¿° |
---|---|
{color}backgroundColor | å ¨å¾é»è®¤èæ¯ï¼ï¼è¯¦è§backgroundColorï¼ï¼æ¯ærgbaï¼é»è®¤ä¸ºæ ï¼éæ |
{Array} color | æ°å¼ç³»åçé¢è²å表ï¼ï¼è¯¦è§colorï¼ï¼å¯é æ°ç»ï¼egï¼['#87cefa', 'rgba(123,123,123,0.5)','...']ï¼å½ç³»åæ°éä¸ªæ°æ¯é¢è²å表é¿åº¦å¤§æ¶å°å¾ªç¯éå |
{boolean}renderAsImage | éIE8-æ¯ææ¸²æä¸ºå¾çï¼ï¼è¯¦è§renderAsImageï¼ |
{boolean}calculable | æ¯å¦å¯ç¨ææ½é计ç®ç¹æ§ï¼é»è®¤å ³éï¼ï¼è¯¦è§calculableï¼ç¸å ³çè¿æ calculableColorï¼ calculableHolderColorï¼nameConnectorï¼ valueConnectorï¼ |
{boolean}animation | æ¯å¦å¼å¯å¨ç»ï¼é»è®¤å¼å¯ï¼ï¼è¯¦è§ animationï¼ç¸å ³çè¿æ addDataAnimationï¼ animationThresholdï¼animationDurationï¼ animationDurationUpdate ï¼ animationEasingï¼ |
{Object} timeline | æ¶é´è½´ï¼è¯¦è§timelineï¼ï¼æ¯ä¸ªå¾è¡¨æå¤ä» æä¸ä¸ªæ¶é´è½´æ§ä»¶ |
{Object} title | æ é¢ï¼è¯¦è§titleï¼ï¼æ¯ä¸ªå¾è¡¨æå¤ä» æä¸ä¸ªæ 颿§ä»¶ |
{Object} toolbox | å·¥å ·ç®±ï¼è¯¦è§toolboxï¼ï¼æ¯ä¸ªå¾è¡¨æå¤ä» æä¸ä¸ªå·¥å ·ç®± |
{Object} tooltip | æç¤ºæ¡ï¼è¯¦è§tooltipï¼ï¼é¼ æ æ¬æµ®äº¤äºæ¶çä¿¡æ¯æç¤º |
{Object} legend | å¾ä¾ï¼è¯¦è§legendï¼ï¼æ¯ä¸ªå¾è¡¨æå¤ä» æä¸ä¸ªå¾ä¾ï¼æ··æå¾è¡¨å ±äº« |
{Object}dataRange | å¼åéæ©ï¼è¯¦è§dataRangeï¼,å¼åèå´ |
{Object}dataZoom | æ°æ®åºå缩æ¾ï¼è¯¦è§dataZoomï¼,æ°æ®å±ç°èå´éæ© |
{Object}roamController | 漫游缩æ¾ç»ä»¶ï¼è¯¦è§roamControllerï¼,æé å°å¾ä½¿ç¨ |
{Object} grid | ç´è§åæ ç³»å ç»å¾ç½æ ¼ï¼è¯¦è§gridï¼ |
{Array | Object}xAxis | ç´è§åæ ç³»ä¸æ¨ªè½´æ°ç»ï¼è¯¦è§xAxisï¼ï¼æ°ç»ä¸æ¯ä¸é¡¹ä»£è¡¨ä¸æ¡æ¨ªè½´åæ è½´ï¼æ åï¼1.0ï¼ä¸è§å®æå¤åæ¶åå¨2æ¡æ¨ªè½´ |
{Array | Object}yAxis | ç´è§åæ ç³»ä¸çºµè½´æ°ç»ï¼è¯¦è§yAxisï¼ï¼æ°ç»ä¸æ¯ä¸é¡¹ä»£è¡¨ä¸æ¡çºµè½´åæ è½´ï¼æ åï¼1.0ï¼ä¸è§å®æå¤åæ¶åå¨2æ¡çºµè½´ |
{Array} series | 驱å¨å¾è¡¨çæçæ°æ®å 容ï¼è¯¦è§seriesï¼ï¼æ°ç»ä¸æ¯ä¸é¡¹ä»£è¡¨ä¸ä¸ªç³»åçç¹æ®éé¡¹åæ°æ® |
é¦å å®ä¹ä¸ä¸ªSerialç±»
/// <summary> /// å®ä¹ä¸ä¸ªSeriesç±» è®¾ç½®å ¶æ¯ä¸ç»sereisçä¸äºåºæ¬å±æ§ /// </summary> class Series { /// <summary> /// sereisåºåç»id /// </summary> //public int id //{ // get; // set; //} /// <summary> /// seriesåºåç»åç§° /// </summary> public string name { get; set; } /// <summary> /// seriesåºåç»åç°å¾è¡¨ç±»å(lineãcolumnãbarç) /// </summary> public string type { get; set; } /// <summary> /// seriesåºåç»çæ°æ®ä¸ºæ°æ®ç±»åæ°ç» /// </summary> public List<double> data { get; set; } }
æ¥çå°Serialå®ä¾åå¹¶å°å ¶è½¬å为jsonæ ¼å¼(å¿ é¡»ç¨å¤§ç¥å¨ï¼Newtonsoft.Json.dll)ï¼ä»£ç å¦ä¸å¾
private void ShowChart() { //èèå°å¾è¡¨çseriesæ°æ®ä¸ºä¸ä¸ªå¯¹è±¡æ°ç» è¿éé¢å¤å®ä¹ä¸ä¸ªseriesçç±» List<Series> seriesList = new List<Series>(); Series series1 = new Series(); series1.name = "actual"; series1.type = "bar"; series1.data = new List<double>(){ 26061649.1, 26161649.41, 21782199.14, 27749708.51, 8819500.47, 27711342.26, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }; Series series2 = new Series(); series2.name = "Budget"; series2.type = "bar"; series2.data = new List<double>() { 28176503.36, 26161649.41, 21782199.14, 27749708.51, 8819500.47, 27711342.26, 2777777.00, 0.00, 0.00, 0.00, 0.00, 0.00, }; seriesList.Add(series1); seriesList.Add(series2); var newObj = new { series = seriesList }; string strJson = ToJson(newObj); WriteJson(strJson); } public static string ToJson( object obj) { return NewtonsoftJson(obj); } public static string NewtonsoftJson(object obj) { return Newtonsoft.Json.JsonConvert.SerializeObject(obj, Newtonsoft.Json.Formatting.None); } private static void WriteJson(string str) { HttpContext.Current.Response.Write(str); //HttpContext.Current.Response.ContentType = "text/plain"; //设置MIMEæ ¼å¼ HttpContext.Current.Response.End(); }
åå°ä»£ç åªéè¦ç¨ajaxæ¥è·åå¼å¹¶èµç»optionçserial屿§å³å¯
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <script type="text/javascript" src="jquery-1.9.1.min.js"></script> <script type="text/javascript" src="echarts/echarts.js"></script> </head> <body> <div id="main" style=" height:400px;"></div> </body> </html> <script type="text/javascript"> // è·¯å¾é ç½® require.config({ paths: { echarts: 'echarts' } }); // ä½¿ç¨ require( [ 'echarts', 'echarts/chart/bar' // ä½¿ç¨æ±ç¶å¾å°±å è½½bar模åï¼æéå è½½ ], function (ec) { // åºäºåå¤å¥½çdomï¼åå§åechartså¾è¡¨ var myChart = ec.init(document.getElementById('main')); var option = { tooltip: { show: true }, legend: { data: ['Actual', 'Budget'] }, xAxis: [ { type: 'category', data: ['䏿', 'äºæ', '䏿', 'åæ', 'äºæ', 'å æ', '䏿', 'å «æ', '乿', 'åæ', 'å䏿', 'åäºæ'] } ], yAxis: [ { type: 'value'//Yè½´æ¾ç¤ºçç±»å,é»è®¤ä¸ºvalue } ], series: [] }; //ajax卿è·åæ°æ® $.ajax({ type: 'post', url: 'ajax.ashx?action=ShowChart', data: {}, dataType: 'json', async: false, success: function (result) { if (result) { // è·åjsonå¼ option.series = result.series; // 为echarts对象å è½½æ°æ® myChart.setOption(option); } }, error: function () { alert("Error"); } }); } ); </script>
æè§å³æå¾
å½ç¶ï¼æåå¥ä¸æºç ï¼
è½¬è½½æ¥æºï¼https://www.cnblogs.com/youmeng/p/4874897.html