其他语言

位置:IT落伍者 >> 其他语言 >> 浏览文章

SpringMVC+highstock实现曲线报表


发布日期:2020年03月11日
 
SpringMVC+highstock实现曲线报表

最近项目要做曲线报表之前用的是生成图片然后传到前端感觉不是很好在网上找到资料说highstock就可以而且还可以做类似股票的那种实时的曲线研究的一段时间把项目问题解决了做个总结

首先把highstockjs放到项目资源路径下因为这个需要JQuery所以jqueryminjs也需要放而且在页面引用是要先引用jqueryminjs再引用highstockjs刚开始做的时候没注意页面加载完后不出图我做的这个图还需要exportingjs所以也要放进项目资源文件夹中

页面代码

<script type=text/javascriptsrc=${pagntextPath}/js/jqueryminjs></script>

<script type=text/javascriptsrc=${pagntextPath}/js/highstockjs></script>

<script type=text/javascriptsrc=${pagntextPath}/js/exportingjs></script>

<script >

$(document)ready(function(){

$(#subclick(function(){

var names = [];

$(input:checked[name=sms]each(function(i e) {

var ks = $(this)val()

if(ks == ) {

namespush(

}

else if (ks == ){

namespush(

}

else if (ks == ){

namespush(

}

else if (ks == ){

namespush(

}

else if (ks == ){

namespush(

}

else if (ks == ){

namespush(

}

else if (ks == ){

namespush(

}

})

var seriesOptions = []

yAxisOptions = []

seriesCounter =

colors = HighchartsgetOptions()colors;

$each(names function(i name) {

//后台读取json数据

$getJSON(<%=requestgetContextPath()%>/JSONByAction?name=+name+toh=+ function(data) {

//将json数据放入seriesOptions数组

seriesOptions[i] = {

name: name

data: data

};

seriesCounter++;

if (seriesCounter == nameslength) {

//开始绘图

createChart()

}

})

function createChart() {

windowchart = new HighchartsStockChart({

chart : {

renderTo : container

}

rangeSelector : {

selected :

}

title : {

text : 湿度显示

}

credits : {

enabled : false//去掉右下角的标志

}

rangeSelector: {

// 缩放选择按钮是一个数组

// 其中type可以是 millisecond second minute day week month ytd (year to date) yearall

// 其中count是指多少个单位type

// 其中text是配置显示在按钮上的文字

buttons: [{

type: month

count:

text:

} {

type: month

count:

text:

} {

type: month

count:

text:

} {

type: year

count:

text:

}{

type: year

count:

text:

} {

type: all

text: 所有

}]

// 默认选择域(缩放按钮中的第一个)(缩放按钮中的第二个)……

selected:

// 是否允许input标签选框

inputEnabled: false

}

//右上角日期区间格式化

rangeSelector:{

selected:

inputDateFormat:%Y%m%d

}

xAxis: {

type: datetime

//x轴时间的格式化

dateTimeLabelFormats: {

second: %Y%m%d<br/>%H:%M:%S

minute: %Y%m%d<br/>%H:%M

hour: %Y%m%d<br/>%H:%M

day: %Y<br/>%m%d

week: %Y<br/>%m%d

month: %Y%m

year: %Y

}

}

yAxis : {

title : {

text : 湿度

}

labels: {

formatter: function() {

return (thisvalue > ? + : ) + thisvalue + %;

}

}

}

//弹出框的格式化显示

tooltip: {

xDateFormat: %Y%m%d %A

pointFormat: <span >{pointname}</span>: <b>{pointy}</b><br/>

valueDecimals:

}

series :seriesOptions

})

}

})

})

})

</script>

<div id=container ></div>

后台其实就简单了

@SuppressWarnings(rawtypes

@RequestMapping(/queHumHistory

@ResponseBody

public Map kan(HttpServletRequest requestHttpServletResponse response){

int id = IntegerparseInt(requestgetParameter(region))

List<TempHumHistory> historyList = historyImplqueHistoryById(id)

Map<String Object> modelMap = new HashMap<String Object>(

modelMapput(total

modelMapput(data historyList)

modelMapput(success true

return modelMap;

}

               

上一篇:在Eclipse下安装C++插件CDT

下一篇:Perl 与 Python 之间的一些异同整理