"How to plot the data on the Scatterplots using apexcharts"

"How to plot the data on the Scatterplots using apexcharts"

我在 Vue.js 中使用 apexchart 库来绘制散点图上的数据。我正在使用 Python 和 Flask 从后端获取数据。我能够从后端到前端获取数据,但是散点图没有显示任何内容,而且控制台上也没有错误。我的预期结果应该是包含我从后端获得的所有坐标值的散点图,即我的 .py 文件。

<template>
<div>
   <div id="chart">
      <apexchart type=scatter height=350 :options="chartOptions" :series="series" />
    </div>
    <div>
        <p> {{ df }} </p>
    </div>
</div>
</template>

<script>
import axios from 'axios';
import VueApexCharts from 'vue-apexcharts';
import Vue from 'vue';

Vue.use(VueApexCharts)
Vue.component('apexchart', VueApexCharts)


export default {
    data: function() {
      return {
        df: [],
        chartOptions: {
          chart: {
            zoom: {
              enabled: true,
              type: 'xy'
            }
          },


          xaxis: {
            tickAmount: 3,
          },
          yaxis: {
            tickAmount: 3,
          }
        },
        series: [{
          name: 'series-1',
          data: [[]]
      }],
      }
      },
    methods: {
        getPoints() {
            const path='http://localhost:5000/scatter';
            axios.get(path)
            .then((res) => {
                this.df=res.data;
                console.log(this.df)
            })
            .catch((error) => {
                console.error(error);
            });
        },

    },
    created(){
        this.getPoints();
    },
};

</script>


#Backeend (.py file)

from flask import Flask, jsonify, request
from flask_cors import CORS

app = Flask(__name__)
app.config.from_object(__name__)

@app.route('/scatter',methods=['GET'])
def get_points():
    return jsonify([[2, 3], [1, 5]])

Results which I am getting on the Browser

您在其中分配数据的 df 属性未用作图表的 series.data

最初,您在 series.data 中放置了一个空白数组,但在获取数据后,您似乎没有更新此数组。因此,您看到的可能是空白图表。

尝试将您的 getPoints 方法更新为此

    getPoints() {
        const path='http://localhost:5000/scatter';
        axios.get(path)
        .then((res) => {
            this.series = [{
              data: res.data
            }]
        })
        .catch((error) => {
            console.error(error);
        });
    }