在vue2中使用echarts散點(diǎn)圖x軸為中文

在echarts官網(wǎng)上的散點(diǎn)圖的例子的x軸都是數(shù)字型的,沒(méi)有中文型的案例,所以在項(xiàng)目中遇到x軸為中文型的圖表是沒(méi)有案例參考,所以百度了一下,實(shí)現(xiàn)過(guò)程也很簡(jiǎn)單,但是還是記錄一下。

如果直接用官網(wǎng)上的案例配置[x,y],散點(diǎn)圖上的點(diǎn)是沒(méi)有辦法顯示的。

echarts3.png

要單獨(dú)設(shè)置x軸的數(shù)據(jù),并且根據(jù)x軸的數(shù)據(jù)獲取索引設(shè)置散點(diǎn)圖的data數(shù)據(jù)。以下是步驟:

1、下載echarts組件

npm install echarts -S
echarts1.png

2、在main.js中引入echarts組件

import * as echarts from "echarts";
Vue.prototype.$echarts = echarts;
echarts2.png

源數(shù)據(jù)

list: [
    { date: "2023-07-07 10:00:00", num: 10 },
    { date: "2023-07-07 11:00:00", num: 20 },
    { date: "2023-07-07 12:00:00", num: 21 },
    { date: "2023-07-07 13:00:00", num: 14 },
    { date: "2023-07-07 14:00:00", num: 16 },
    { date: "2023-07-07 15:00:00", num: 10 },
    { date: "2023-07-07 16:00:00", num: 18 },
    { date: "2023-07-07 17:00:00", num: 19 },
    { date: "2023-07-07 18:00:00", num: 5 },
    { date: "2023-07-07 19:00:00", num: 9 },
    { date: "2023-07-07 20:00:00", num: 8 }
],

3、單獨(dú)配置x軸

// data
option: {
    xAxis: [{
        data:[]
    }],
    series: [
        {
            name: '',
            type: 'scatter',
            data: [],
            dimensions: ['x', 'y'],
            symbolSize: 10,
            large: true
        }
    ]
},
// methods
// 單獨(dú)配置x軸的數(shù)據(jù)
this.list.forEach(item => {
    this.option.xAxis[0].data.push(item.date)
})

4、配置散點(diǎn)圖data數(shù)據(jù)

// data
option: {
    series: [
        {
            name: '',
            type: 'scatter',
            data: [],
            dimensions: ['x', 'y'],
            symbolSize: 10,
            large: true
        }
    ]
},
// methods
// 根據(jù)x軸的數(shù)據(jù),獲取散點(diǎn)圖數(shù)據(jù)的索引   
this.list.map(item => {
    this.option.series[0].data.push([
        this.option.xAxis[0].data.indexOf(item.date),
        item.num
    ])
})

完整代碼

<template>
    <div
      ref="echarts"
      class="echarts-box"
      style="width: 50%; height: 500px"
    ></div>
</template>

<script>
    export default {
        data: () => ({
            list: [
                { date: "2023-07-07 10:00:00", num: 10 },
                { date: "2023-07-07 11:00:00", num: 20 },
                { date: "2023-07-07 12:00:00", num: 21 },
                { date: "2023-07-07 13:00:00", num: 14 },
                { date: "2023-07-07 14:00:00", num: 16 },
                { date: "2023-07-07 15:00:00", num: 10 },
                { date: "2023-07-07 16:00:00", num: 18 },
                { date: "2023-07-07 17:00:00", num: 19 },
                { date: "2023-07-07 18:00:00", num: 5 },
                { date: "2023-07-07 19:00:00", num: 9 },
                { date: "2023-07-07 20:00:00", num: 8 }
            ],
            option: {
                title: {
                    text: ""
                },
                tooltip: {},
                xAxis: [{
                    data:[]
                }],
                yAxis: [{
                    scale:true
                }],
                gird: {
                    width: "10%"
                },
                dataZoom: [
                    {
                        type: 'inside'
                    },
                    {
                        // type: 'slider'
                    }
                ],
                animation: false,
                series: [
                    {
                        name: '',
                        type: 'scatter',
                        data: [],
                        dimensions: ['x', 'y'],
                        symbolSize: 10,
                        large: true
                    }
                ]
            },
        }),
        methods: {
            initEcharts() {
                let myChart = null
                // 單獨(dú)配置x軸的數(shù)據(jù)
                this.list.forEach(item => {
                    this.option.xAxis[0].data.push(item.date)
                })
                // 根據(jù)x軸的數(shù)據(jù),獲取散點(diǎn)圖數(shù)據(jù)的索引   
                this.list.map(item => {
                    this.option.series[0].data.push([
                        his.option.xAxis[0].data.indexOf(item.date),
                        tem.num
                    ])
                })
                myChart = this.$echarts.init(this.$refs.echarts);
                myChart.setOption(this.option, true);
            }
        },
        mounted() {
            this.initEcharts();
        }
    };
</script>

效果圖

echarts4.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容