散点图

1.程序

  1 <!DOCTYPE html>
  2 <html>
  3 <head>
  4     <meta charset="utf-8">
  5     <title>ECharts</title>
  6     <!-- 引入 echarts.js -->
  7     <script src="../echarts.min.js"></script>
  8 </head>
  9 <body>
 10     <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
 11     <div id="main" style="width: 900px;height:600px;"></div>
 12     <script type="text/javascript">
 13             // 基于准备好的dom,初始化echarts实例
 14         var myChart = echarts.init(document.getElementById('main'));
 15 
 16         // 指定图表的配置项和数据
 17         var dataBJ = [
 18             [1,55,9,56,0.46,18,6,""],
 19             [2,25,11,21,0.65,34,9,""],
 20             [3,56,7,63,0.3,14,5,""],
 21             [4,33,7,29,0.33,16,6,""],
 22             [5,42,24,44,0.76,40,16,""],
 23             [6,82,58,90,1.77,68,33,""],
 24             [7,74,49,77,1.46,48,27,""],
 25             [8,78,55,80,1.29,59,29,""],
 26             [9,267,216,280,4.8,108,64,"重度污染"],
 27             [10,185,127,216,2.52,61,27,"中度污染"],
 28             [11,39,19,38,0.57,31,15,""],
 29             [12,41,11,40,0.43,21,7,""],
 30             [13,64,38,74,1.04,46,22,""],
 31             [14,108,79,120,1.7,75,41,"轻度污染"],
 32             [15,108,63,116,1.48,44,26,"轻度污染"],
 33             [16,33,6,29,0.34,13,5,""],
 34             [17,94,66,110,1.54,62,31,""],
 35             [18,186,142,192,3.88,93,79,"中度污染"],
 36             [19,57,31,54,0.96,32,14,""],
 37             [20,22,8,17,0.48,23,10,""],
 38             [21,39,15,36,0.61,29,13,""],
 39             [22,94,69,114,2.08,73,39,""],
 40             [23,99,73,110,2.43,76,48,""],
 41             [24,31,12,30,0.5,32,16,""],
 42             [25,42,27,43,1,53,22,""],
 43             [26,154,117,157,3.05,92,58,"中度污染"],
 44             [27,234,185,230,4.09,123,69,"重度污染"],
 45             [28,160,120,186,2.77,91,50,"中度污染"],
 46             [29,134,96,165,2.76,83,41,"轻度污染"],
 47             [30,52,24,60,1.03,50,21,""],
 48             [31,46,5,49,0.28,10,6,""]
 49         ];
 50 
 51         var dataGZ = [
 52             [1,26,37,27,1.163,27,13,""],
 53             [2,85,62,71,1.195,60,8,""],
 54             [3,78,38,74,1.363,37,7,""],
 55             [4,21,21,36,0.634,40,9,""],
 56             [5,41,42,46,0.915,81,13,""],
 57             [6,56,52,69,1.067,92,16,""],
 58             [7,64,30,28,0.924,51,2,""],
 59             [8,55,48,74,1.236,75,26,""],
 60             [9,76,85,113,1.237,114,27,""],
 61             [10,91,81,104,1.041,56,40,""],
 62             [11,84,39,60,0.964,25,11,""],
 63             [12,64,51,101,0.862,58,23,""],
 64             [13,70,69,120,1.198,65,36,""],
 65             [14,77,105,178,2.549,64,16,""],
 66             [15,109,68,87,0.996,74,29,"轻度污染"],
 67             [16,73,68,97,0.905,51,34,""],
 68             [17,54,27,47,0.592,53,12,""],
 69             [18,51,61,97,0.811,65,19,""],
 70             [19,91,71,121,1.374,43,18,""],
 71             [20,73,102,182,2.787,44,19,""],
 72             [21,73,50,76,0.717,31,20,""],
 73             [22,84,94,140,2.238,68,18,""],
 74             [23,93,77,104,1.165,53,7,""],
 75             [24,99,130,227,3.97,55,15,""],
 76             [25,146,84,139,1.094,40,17,"轻度污染"],
 77             [26,113,108,137,1.481,48,15,"轻度污染"],
 78             [27,81,48,62,1.619,26,3,""],
 79             [28,56,48,68,1.336,37,9,""],
 80             [29,82,92,174,3.29,0,13,""],
 81             [30,106,116,188,3.628,101,16,"轻度污染"],
 82             [31,118,50,0,1.383,76,11,"轻度污染"]
 83         ];
 84 
 85         var dataSH = [
 86             [1,91,45,125,0.82,34,23,""],
 87             [2,65,27,78,0.86,45,29,""],
 88             [3,83,60,84,1.09,73,27,""],
 89             [4,109,81,121,1.28,68,51,"轻度污染"],
 90             [5,106,77,114,1.07,55,51,"轻度污染"],
 91             [6,109,81,121,1.28,68,51,"轻度污染"],
 92             [7,106,77,114,1.07,55,51,"轻度污染"],
 93             [8,89,65,78,0.86,51,26,""],
 94             [9,53,33,47,0.64,50,17,""],
 95             [10,80,55,80,1.01,75,24,""],
 96             [11,117,81,124,1.03,45,24,"轻度污染"],
 97             [12,99,71,142,1.1,62,42,""],
 98             [13,95,69,130,1.28,74,50,""],
 99             [14,116,87,131,1.47,84,40,"轻度污染"],
100             [15,108,80,121,1.3,85,37,"轻度污染"],
101             [16,134,83,167,1.16,57,43,"轻度污染"],
102             [17,79,43,107,1.05,59,37,""],
103             [18,71,46,89,0.86,64,25,""],
104             [19,97,71,113,1.17,88,31,""],
105             [20,84,57,91,0.85,55,31,""],
106             [21,87,63,101,0.9,56,41,""],
107             [22,104,77,119,1.09,73,48,"轻度污染"],
108             [23,87,62,100,1,72,28,""],
109             [24,168,128,172,1.49,97,56,"中度污染"],
110             [25,65,45,51,0.74,39,17,""],
111             [26,39,24,38,0.61,47,17,""],
112             [27,39,24,39,0.59,50,19,""],
113             [28,93,68,96,1.05,79,29,""],
114             [29,188,143,197,1.66,99,51,"中度污染"],
115             [30,174,131,174,1.55,108,50,"中度污染"],
116             [31,187,143,201,1.39,89,53,"中度污染"]
117         ];
118 
119         var schema = [
120             {name: 'date', index: 0, text: ''},
121             {name: 'AQIindex', index: 1, text: 'AQI指数'},
122             {name: 'PM25', index: 2, text: 'PM2.5'},
123             {name: 'PM10', index: 3, text: 'PM10'},
124             {name: 'CO', index: 4, text: '一氧化碳(CO)'},
125             {name: 'NO2', index: 5, text: '二氧化氮(NO2)'},
126             {name: 'SO2', index: 6, text: '二氧化硫(SO2)'}
127         ];
128 
129 
130         var itemStyle = {
131             normal: {
132                 opacity: 0.8,
133                 shadowBlur: 10,
134                 shadowOffsetX: 0,
135                 shadowOffsetY: 0,
136                 shadowColor: 'rgba(0, 0, 0, 0.5)'
137             }
138         };
139 
140         option = {
141             backgroundColor: '#333',
142             color: [
143                 '#dd4444', '#fec42c', '#80F1BE'
144             ],
145             legend: {
146                 y: 'top',
147                 data: ['北京', '上海', '广州'],
148                 textStyle: {
149                     color: '#fff',
150                     fontSize: 16
151                 }
152             },
153             grid: {
154                 x: '10%',
155                 x2: 150,
156                 y: '18%',
157                 y2: '10%'
158             },
159             tooltip: {
160                 padding: 10,
161                 backgroundColor: '#222',
162                 borderColor: '#777',
163                 borderWidth: 1,
164                 formatter: function (obj) {
165                     var value = obj.value;
166                     return '<div style="border-bottom: 1px solid rgba(255,255,255,.3); font-size: 18px;padding-bottom: 7px;margin-bottom: 7px">'
167                         + obj.seriesName + ' ' + value[0] + '日:'
168                         + value[7]
169                         + '</div>'
170                         + schema[1].text + '' + value[1] + '<br>'
171                         + schema[2].text + '' + value[2] + '<br>'
172                         + schema[3].text + '' + value[3] + '<br>'
173                         + schema[4].text + '' + value[4] + '<br>'
174                         + schema[5].text + '' + value[5] + '<br>'
175                         + schema[6].text + '' + value[6] + '<br>';
176                 }
177             },
178             xAxis: {
179                 type: 'value',
180                 name: '日期',
181                 nameGap: 16,
182                 nameTextStyle: {
183                     color: '#fff',
184                     fontSize: 14
185                 },
186                 max: 31,
187                 splitLine: {
188                     show: false
189                 },
190                 axisLine: {
191                     lineStyle: {
192                         color: '#777'
193                     }
194                 },
195                 axisTick: {
196                     lineStyle: {
197                         color: '#777'
198                     }
199                 },
200                 axisLabel: {
201                     formatter: '{value}',
202                     textStyle: {
203                         color: '#fff'
204                     }
205                 }
206             },
207             yAxis: {
208                 type: 'value',
209                 name: 'AQI指数',
210                 nameLocation: 'end',
211                 nameGap: 20,
212                 nameTextStyle: {
213                     color: '#fff',
214                     fontSize: 16
215                 },
216                 axisLine: {
217                     lineStyle: {
218                         color: '#777'
219                     }
220                 },
221                 axisTick: {
222                     lineStyle: {
223                         color: '#777'
224                     }
225                 },
226                 splitLine: {
227                     show: false
228                 },
229                 axisLabel: {
230                     textStyle: {
231                         color: '#fff'
232                     }
233                 }
234             },
235             visualMap: [
236                 {
237                     left: 'right',
238                     top: '10%',
239                     dimension: 2,
240                     min: 0,
241                     max: 250,
242                     itemWidth: 30,
243                     itemHeight: 120,
244                     calculable: true,
245                     precision: 0.1,
246                     text: ['圆形大小:PM2.5'],
247                     textGap: 30,
248                     textStyle: {
249                         color: '#fff'
250                     },
251                     inRange: {
252                         symbolSize: [10, 70]
253                     },
254                     outOfRange: {
255                         symbolSize: [10, 70],
256                         color: ['rgba(255,255,255,.2)']
257                     },
258                     controller: {
259                         inRange: {
260                             color: ['#c23531']
261                         },
262                         outOfRange: {
263                             color: ['#444']
264                         }
265                     }
266                 },
267                 {
268                     left: 'right',
269                     bottom: '5%',
270                     dimension: 6,
271                     min: 0,
272                     max: 50,
273                     itemHeight: 120,
274                     calculable: true,
275                     precision: 0.1,
276                     text: ['明暗:二氧化硫'],
277                     textGap: 30,
278                     textStyle: {
279                         color: '#fff'
280                     },
281                     inRange: {
282                         colorLightness: [1, 0.5]
283                     },
284                     outOfRange: {
285                         color: ['rgba(255,255,255,.2)']
286                     },
287                     controller: {
288                         inRange: {
289                             color: ['#c23531']
290                         },
291                         outOfRange: {
292                             color: ['#444']
293                         }
294                     }
295                 }
296             ],
297             series: [
298                 {
299                     name: '北京',
300                     type: 'scatter',
301                     itemStyle: itemStyle,
302                     data: dataBJ
303                 },
304                 {
305                     name: '上海',
306                     type: 'scatter',
307                     itemStyle: itemStyle,
308                     data: dataSH
309                 },
310                 {
311                     name: '广州',
312                     type: 'scatter',
313                     itemStyle: itemStyle,
314                     data: dataGZ
315                 }
316             ]
317         };
318 
319         // 使用刚指定的配置项和数据显示图表。
320         myChart.setOption(option);
321     </script>
322 </body>
323 </html>

2.效果

  

猜你喜欢

转载自www.cnblogs.com/juncaoit/p/9191353.html