I'm using Victory charts for some bar charts in React Native. I've got it working as good as possible but I've got one problem and that's because of the first bar is going through the y axis labels.
Example:
I've tried some things with the domainPadding but it was also effecting the Y Axis. Anybody an idea of how to get the bars to the right?
Example code:
<VictoryChart padding={{top: 50, bottom: 0, left: 35, right: 125}} height={200}>
<VictoryBar
animate={{
duration: 2000,
onLoad: {duration: 1000},
}}
data={this.renderData()}
barRatio={1}
labels={['<30', '30-60', '60-90', '>90']}
style={{
parent: {border: '2px solid black'},
data: {fill: '#000', fillOpacity: 0.1},
labels: {fill: 'white'},
}}
labelComponent={<VictoryLabel y={200} />}
/>
<VictoryAxis
dependentAxis
style={{
axis: {stroke: 'transparent'},
ticks: {stroke: 'transparent'},
tickLabels: {fill: '#FFF'},
}}
/>
<VictoryAxis
crossAxis
style={{
axis: {stroke: 'transparent'},
ticks: {stroke: 'transparent'},
tickLabels: {fill: 'transparent'},
}}
/>
</VictoryChart>
You could set the offsetX
prop on the VictoryAxis
.
For example:
// ...
<VictoryAxis
dependentAxis
offsetX={70}
style={{
axis: {stroke: 'transparent'},
ticks: {stroke: 'transparent'},
tickLabels: {fill: 'black'},
}}
/>
// ...
Source: https://formidable.com/open-source/victory/docs/victory-axis#offsetx.
You probably have to play around with the value of offsetX
as I couldn't exactly replicate your layout as you didn't share the container surrounding your chart.