Admin-on-rest 图表

Charts on Admin-on-rest

我需要做一个网页来完成我的大学,我已经完成了大约 90%,但是,我正在努力让自定义迭代器和图表工作。 我正在尝试使用 Recharts,但我不知道如何让它收集我想要的信息(我需要它来获取注册用户数量和他们接种的疫苗数量),但我在文档上看到的一切都已准备就绪结果,我不确定 ChartJS 是否会让它变得更好,即使它确实如此,我对自定义迭代器的工作方式感到困惑,因为我从另一个 Whosebug 问题中得到了 "Analytics" 一个,但这是我最不担心的,因为这似乎比让实际图表工作更简单。 帮助将不胜感激,因为我有 2 周的时间来交付它并且我一直坚持下去,它的关键是我让它工作。

哦,是的,我在 Javascript 方面也很糟糕,所以欢迎提供任何信息。

编辑:忘了说我已经环顾四周,但其中很多都是为了更简单和静态的东西,而不是数据库计数或类似的东西。

欢迎来到 SO。

1) Recharts 想要一个需要迭代和显示的数组。所以我通常做的是让图表组件成为列表组件的子组件。 2) 当用户 select 从下拉列表中选择不同的选项时,我使用列表页面上的过滤器来 select 不同的图表组件(以防您的分析页面需要显示同一页面中的不同图表) ^^这对于刚接触 JS 的人来说有点棘手,但如果您想深入了解它,则非常简单。 3) 对你来说,我认为最好的办法是为每个页面制作不同的列表组件和资源,并在各自的页面上显示不同的图表。

export const AnalyticsList = (props) => {
  return (
    <List title="Analytics" {...props} perPage={20} sort={{ field: 'id', order: 'ASC' }}>
      <Analytics />
    </List>
  )
}

分析组件是这样的

import React from 'react';
import {BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend} from 'recharts';

export const Analytics = (props) => {
    return (
      <BarChart width={800} height={400} data={Object.values(props.data)} margin={{top: 5, right: 30, left: 20, bottom: 5}}>
         <XAxis dataKey="name"/>
         <YAxis dataKey="charLimit" />
         <CartesianGrid strokeDasharray="3 3"/>
         <Tooltip/>
         <Legend />
         <Bar dataKey="charLimit" fill="#82ca9d" />
      </BarChart>
  );
}

希望对您有所帮助。