【问题标题】:VueJS : How to group by based on response data columnsVueJS:如何根据响应数据列分组
【发布时间】:2021-10-09 20:24:54
【问题描述】:

我需要将响应日期函数发送到我的图表的 X 坐标,为此,我需要日期格式的此列(使用字符串可以正常工作)。如果可以通过保留日期列进行绘制作为字符串,它会很好,但对于分组,至少这必须转换是我的想法。有来自银行端的重复日期,我需要根据其他响应数据(即位置)进行分组。如何实现这一点以及如何根据位置列显示折线图

我的代码

<script>
import { getAPI } from '../axios-api'
import Navbar from '../components/Navbar.vue';
import custChart from "../components/ChartJS.vue";
// import moment from "moment";
export default{
name : 'ChartVis',
data: () => {
  return {
    chartData: [
      {
        label : 'length_max',
        backgroundColor: '#FC2525',
        data:[]
      },
      {
        label : 'length_min',
        backgroundColor: '#05CBE1',
        data:[]
      },
      {
        label : 'length_avg',
        backgroundColor: '#EC2525',
        data:[]
      },
      {
        label : 'length_std',
        backgroundColor: '#DC2525',
        data:[]
      },
      {
        label : 'location',
        backgroundColor: '#DC2525',
        data:[]
      },
    ],
    labels:[],
    loaded : false,
  };
},
components:{
        Navbar,
        custChart,
    },
 mounted () {
        this.loaded = false
        this.getData()
    },
methods: {
  async getData(){
    
     await getAPI.get('datavisualisation/summary')
        .then((response) => {
          

            this.chartData[0] = (response.data.map(item => parseFloat(item.length_max)))
            this.chartData[1] = (response.data.map(item => parseFloat(item.length_min)))
            this.chartData[2] = (response.data.map(item => parseFloat(item.length_avg)))
            this.chartData[3] = (response.data.map(item => parseFloat(item.length_std)))
            this.chartData[4] = (response.data.map(item => (item.location)))
            this.labels = response.data.map(item => item.date)
          this.loaded = true
          })
          
        .catch(err => {
            console.log(err)
          })

  },

  },
}
</script>

重复日期

其他栏目

我的图表

【问题讨论】:

    标签: vue.js chart.js vue-component vuetify.js


    【解决方案1】:

    我在您的问题的任何地方都找不到问题。您的意思是像您希望对数组进行排序一样分组在一起吗?你在做什么样的图表?您想在同一天获得多个数据点吗?为什么?

    【讨论】:

    • 谢谢,我也添加了图表,问题是 X 坐标的日期列重复了,相反,我希望它根据坦克(位置)数据显示在组上。我的问题与此有关。是的,我需要对数组进行排序。我正在根据日期列和按位置分组制作条形图和折线图
    • @Shekarshekar 您是在制作Stacked Bar Chart,还是只想按 Tank 对条形图进行排序?那么如果有相同Tank的点,它们是在彼此之上还是彼此相邻?你想让酒吧在坦克组中吗?并在按日期排序的这些组中?折线图如何与所有这些联系起来?对于可能不那么复杂的事情来说,这似乎真的很复杂。
    • 抱歉,如果我的问题不清楚。我没有尝试堆叠条形图。我正在为不同的数据集尝试分组条形图和折线图。分组条形图:如果您观察我的数据,则有 3 个日期列,我需要在这 3 个日期上显示 def_percent,按 Tank(位置)数据分组。在 01/01 Tank 1、Tank 2 和 Tank 5 分组数据等等。折线图也是如此,其中 Y 坐标数据将为 length_max、length_min、length_avg、length_std。
    猜你喜欢
    • 2020-01-20
    • 1970-01-01
    • 1970-01-01
    • 2019-03-10
    • 1970-01-01
    • 2022-12-03
    • 2020-09-27
    • 2021-07-18
    • 2020-01-15
    相关资源
    最近更新 更多