Javascript 如何使用anychart js以下拉值的形式在图表中显示数据?

Javascript 如何使用anychart js以下拉值的形式在图表中显示数据?,javascript,arrays,api,charts,anychart,Javascript,Arrays,Api,Charts,Anychart,我正在尝试使用anychart js制作折线图。此图表上显示的数据是api提供的数据,与nba球员统计数据有关。它是以JSON格式提供的。所以我想要的是根据我在下拉列表中选择的功能设置数据 例如,如果我在下拉列表中选择fga属性,它将显示带有fga作为数据的折线图。如果选择则fgm,它将删除当前折线图,并显示另一个以fgm为数据的折线图 以下是我对API的请求: 以下是网站: 所以我的问题是,当我这样做时,我为数组的每个元素创建了几个图表。我可以用所有这些数据制作一张图表 这是我的密码: var

我正在尝试使用anychart js制作折线图。此图表上显示的数据是api提供的数据,与nba球员统计数据有关。它是以JSON格式提供的。所以我想要的是根据我在下拉列表中选择的功能设置数据

例如,如果我在下拉列表中选择fga属性,它将显示带有fga作为数据的折线图。如果选择则fgm,它将删除当前折线图,并显示另一个以fgm为数据的折线图

以下是我对API的请求:

以下是网站:

所以我的问题是,当我这样做时,我为数组的每个元素创建了几个图表。我可以用所有这些数据制作一张图表

这是我的密码:

var vm = new Vue({
    el:'#app',
    data : {
        choice : "",
        stat : []


},

    methods: {
        statSelect : function(event){
                return axios.get("https://www.balldontlie.io/api/v1/stats?seasons[]=2019&player_ids[]=237&per_page=100")
                  .then(response => {
                  var tab = response.data.data.map((item) => {
                var date = new Date(item.game.date);
                var dateN = date.toLocaleString('en-US',
                {year : 'numeric', month : 'numeric', day: 'numeric'});
                if (event.target.value == "fga") {

                    this.stat.push([dateN, item.fga]);
              var chart = anychart.line();
              var serie = chart.line(this.stat);
              chart.yScale().minimum(0);
              chart.container("container");
              chart.draw();
                    console.log(this.stat);
                }

                if (event.target.value == "fta") {
                    stat = [dateN, item.fta];

                    console.log(stat);
                }

                else {
                           stat = [dateN, item.ftm];

                    console.log(stat);                  }

                 });
                return stat;
                });
        }
    }})
结果如下:

问候


YT

如果我正确理解了您要做的事情,下面是一个示例,说明如何使用vanilla javascript来完成

window.addEventListener('DOMContentLoaded',function(){
//获取数据
常量url=”https://www.balldontlie.io/api/v1/stats?seasons[]=2019和玩家ID[]=237和每页=100”;
const dataPromise=axios.get(url)
.then(response=>response.data.data)
.catch(原因=>alert('GET failed.+reason));
//初始图
const chart=anychart.line();
chart.defaultSeriesType('line');
//保持图表更新以匹配下拉列表
const selectElem=document.querySelector('select');
选择elem.addEventListener('change',event=>{
showChartFor(事件、目标、值);
});
showChartFor(选择元素值);
功能显示图表(键){
然后(数据=>{
常量系列=data.map(项=>{
const date=新日期(item.game.date);
const dateN=date.tolocalString('en-US'{
年份:'数字',
月份:'数字',
日期:“数字”
});
返回[日期,项目[键];
});
chart.removeAllSeries();
图表.添加系列(系列);
图表.集装箱(“集装箱”);
chart.draw();
});
}
});

JS-Bin
fga
自由贸易协定
ftm

要将新数据应用于序列,无需重新创建图表甚至序列。您只需将新数据应用于现有系列:

// create series
var series = chart.line(initialData);
// apply new data
series.data(newData);

因此,您希望有一个图表,根据下拉列表中选择的内容显示不同的数据,问题是您得到了多个图表?查看和了解如何更改图表中显示的数据。感谢您的回答。然而,我实际上在使用viewjs,我想知道如何用这项技术实现它?