reactjs - 使用多个数据集重新绘制 ComposedChart?

标签 reactjs data-visualization recharts

我想在由条形图和线条组成的组合图表上绘制数据点,每个条形图都有自己的数据集。

例如,我希望每个 Bar 从 data.points 获得一个值,但是从对象数组中获取其值的行,data.content .

这两个数据集是有区别的,尽管它们都是时间序列。

数据形状示例:

const data = {
    points: [{
        value: 80,
        timestamp: 2010-01-09
    }],
    content: [{
        date_posted: 2010-01-10,
        content_id: 'xewr23r3g29w0'   
    }]
}

我是否能够为每个图表组件单独使用这些数据集,还是必须遍历数据并以某种方式将其标准化?

同样供引用的是我的 ComposedChart 实例的代码.
<ComposedChart width={600} height={400} data={data} margin={margin} legendType="circle">
  <CartesianGrid strokeDasharray="3 3" />
  <XAxis dataKey="timestamp" tickFormatter={this.formatDate} height={40} />
  <YAxis />
  <Legend iconType="circle" />
  <Bar dataKey="content_id" barSize={20} fill="#413ea0" />
  <Line name="Selected Period" type="monotone" dataKey="value" stroke={colors.blue} />
</ComposedChart>

最佳答案

您应该能够分别向 Bar & Line 添加 data 属性:

<Bar data={data.content} ... />
<Line data={data.points} ... />
我在尝试为区域和线组合 2 个数据集时遇到了问题,其中区域不接受数据属性。我是这样解决的:
<ResponsiveContainer width="100%" height={300}>
  <ComposedChart
    data={myAreaData}
    ...
  >
    <XAxis ... />
    <YAxis ... />
    <Legend layout="vertical" align="right" verticalAlign="middle" />
    <Area
      // does not accept 'data' attribute (!)
      ...
    />
    <Line data={myLineData} ... />
  </ComposedChart>
</ResponsiveContainer>

关于reactjs - 使用多个数据集重新绘制 ComposedChart?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54096095/

相关文章:

reactjs - 为什么 jsx 中的三元运算符不起作用

javascript - 如何将 Prop 传递给组件的 child

reactjs - 最简单的 Typescript + React + WebPack 示例生成错误

python - 如何在 Python 中结合 Seaborn 中的两个热图,以便两者都显示在同一个热图中?

javascript - 如何创建一个 d3 线函数来为 x、y1、y2 数据绘制 2 条线?

JavaScript 过滤器不更新 React 本地状态

pandas - 从 Pandas Dataframe 创建(多)线图?

javascript - React HOC 适用于某些组件,但不适用于其他组件

javascript - 使用重新图表 React hooks AreaChart 控制台警告

reactjs - Recharts 设置显示数字的 Y 轴值基数