可视化代码

可视化全部代码

plaintext
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>可视化</title>
</head>

<body>
<div id="app">
<!-- 数据绑定 -->
<h1>{{title}}</h1>
<div id="chart1" style="height:500px;width:1000px;"></div>
</div>
</body>
<!-- 引入Vue框架 -->
<script src="https://cdn.bootcdn.net/ajax/libs/vue/3.3.4/vue.global.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/axios/1.5.0/axios.min.js"></script>
<script type="module">
import * as echarts from "https://cdn.bootcdn.net/ajax/libs/echarts/5.4.3/echarts.esm.min.js";

// 挂载Vue 相当于声明变量
const { createApp } = Vue;
createApp({
// 方法结构
data() {
// 返回需要的各种变量
return {
title: "你好",
};
},
// 页面挂载完毕后执行的方法
mounted() {
// 把取回来的数据拿出来
axios.get("http://jtwz.gxaliyun.com/wti0901.json").then(box => {
console.log(box.data);
// 排序,根据close_price从大到小排,使用冒泡排序
for (let i = 0; i < box.data.data.length; i++) {
for (let j = 0; j < i; j++) {
// 两两比较 如果第一个数比第二个数要小,就交换位置
if (box.data.data[j].close_price < box.data.data[i].close_price) {
let temp = box.data.data[j];
box.data.data[j] = box.data.data[i];
box.data.data[i] = temp;
}
}
}

console.log(box.data.data);

// 取数组的前五个元素
let arr = [];
for (let i = 0; i < 5; i++) {
arr.push(box.data.data[i])
}

// 开始画图
let chartDom = document.getElementById("chart1");
let echart = echarts.init(chartDom);
// 定义图标
let optios = {
xAxis: {
type: 'category',
data: arr.map(x=>{
return x.day
}),
},
yAxis: {
type: 'value',
},
series: [{
data: arr.map(x=>{
return x.close_price
}),
type: 'bar'
}]

}
// exharts显示
optios && echart.setOption(optios);
});
},
}).mount("#app")

</script>

</html>