The data does not fit on the VictoryBar chart

I make a graph using the Victory library. I need to build a grouped VictoryBar, so I use VictoryGroup to do that.

But I have a lot of data, and the data doesn’t fit on the graph. How can I enlarge the graph so that the y-axis data doesn’t get mixed up?

If there is less data, the data is placed on the graph

https://codesandbox.io/s/zen-edison-fb8dy4?file=/src/App.js

import "./styles.css";
import plotData from "./data.json";
import React from "react";
import { VictoryBar, VictoryChart, VictoryGroup } from "victory";
export default function App() {
  let arr1 = [];
  let arr2 = [];
  let arr1Sum = 0;
  let arr2Sum = 0;

  plotData.map((plotData, index) => {
    arr1Sum += plotData.ofac_share;
    arr2Sum += plotData.non_ofac_share;
  });

  plotData.map((plotData, index) => {
    arr1.push({
      y: (plotData.ofac_share / arr1Sum) * 100,
      x: plotData.validator
    });
    arr2.push({
      y: (plotData.non_ofac_share / arr2Sum) * 100,
      x: plotData.validator
    });
  });

  return (
    <VictoryChart>
      <VictoryGroup offsetY={10} colorScale={["tomato", "orange"]}>
        <VictoryBar horizontal barWidth={3} data={arr1} />
        <VictoryBar horizontal barWidth={3} data={arr2} />
      </VictoryGroup>
    </VictoryChart>
  );
}

enter image description here

I tried changing the ‘offset’ and ‘barWidth’ parameter, but it didn’t help me

>Solution :

As per documentation, as well as other layout configurations, the VictoryChart component supports a height property:

<VictoryChart height={600}>
    <VictoryGroup
        offsetY={10}
        colorScale={['tomato', 'orange']}
    >
        <VictoryBar
            horizontal
            barWidth={3}
            data={arr1}
        />
        <VictoryBar
            horizontal
            barWidth={3}
            data={arr2}
        />
    </VictoryGroup>
</VictoryChart>;

Here is the link to the relevant Victory documentation section, but here is a snippet from that link that summarises:

Victory components have default width, height, and padding props defined in the default grayscale theme.

Hope this helps.

Leave a Reply