这个是我自己第一次尝试做的,虽然很粗糙,但是可以给需要的人看一下,初学的人也可以去了解一下,
先上一个效果图:
然后附上代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>天气温度折线图-echarts</title>
<script src="echarts.js" type="text/javascript"></script>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.js"></script>
</head>
<body>
<div id="main" style="width: 600px;height: 400px;"></div>
<script type="text/javascript">
var myChart = echarts.init(document.getElementById('main'));
// 显示标题,图例和空的坐标轴
myChart.setOption({
title: {
text: '重庆未来七日温度'
},
tooltip: {},
legend: {
data:['最高气温','最低气温']
},
xAxis: {
data: []
},
yAxis: {
type:'value',
axisLabel: {
formatter: '{value} °C'
}
},
series: [{
name: '最高气温',
type: 'line',
data: [],
markPoint: {
data: [
{type: 'max', name: '最大值'},
{type: 'min', name: '最小值'}
]
},
markLine: {
data: [
{type: 'average', name: '平均值'}
]
}
},
{
name:'最低气温',
type:'line',
data:[],
markPoint: {
data: [
{name: '周最低', value: -2, xAxis: 1, yAxis: -1.5}
]
},
markLine: {
data: [
{type: 'average', name: '平均值'},
[{
symbol: 'none',
x: '90%',
yAxis: 'max'
}, {
symbol: 'circle',
label: {
normal: {
position: 'start',
formatter: '最大值'
}
},
type: 'max',
name: '最高点'
}]
]
}
}
]
});
// 异步加载数据
var city = "重庆";
// $citycode=urlencode(city);
url='http://v.juhe.cn/weather/index?format=2&cityname='+'重庆'+'&key=bce44a95809a658b927c0722f2fbbac4';
$.ajax({
url:url,
type:"get",
async:false,
dataType:"jsonp",
data:{location:city},
success:function (wddata) {
var wdlist=wddata.result.future;
console.log(wddata);
var wdmin=[];
var wdmax=[];
var xqday=[];
for(var i=0;i<wdlist.length;i++){
var wd=wddata.result.future[i].temperature;
var xq=wddata.result.future[i].week;
xqday.push(xq);
var arr=wd.split("~");
var min=arr[0].split("℃")[0];
var max=arr[1].split("℃")[0];
console.log(min);
console.log(max);
wdmin.push(min);
wdmax.push(max);
}
console.log(wdmin);
console.log(wdmax);
// 填入数据
myChart.setOption({
xAxis: {
data:xqday
},
series: [{
// 根据名字对应到相应的系列
name: '最高气温',
data: wdmax
},{
name: '最低气温',
data: wdmin
}]
});
}
})
</script>
</body>
</html>
这里的api请求的接口是我在聚合数据申请的免费测试的接口,总共的次数有500次,我写的时候是刷新一次就会加载一次,就会去请求一次。
现在剩余还有400次左右,反正是免费的,所以大家可以自己注册然后自己查这个api的文档来自己试一下。
这里是api文档:
大家有兴趣的可以去了解一下。