如何解决图表-如何保留Y轴的边值?
我有一个可以正确显示数据的图表,但是我的Y轴是线性的(应该是),并且可以裁剪数据(请参见屏幕截图)。
我希望Y轴显示线性数据并尊重图表的边(最大值)值。
我尝试使用d3比例尺,但失败了-不知道如何将最大值“附加”到比例尺。我想到的唯一方法是手动计算所有我想要避免的价格变动。
我的Y轴代码是
<YAxis
domain={[data.yAxis.min,data.yAxis.max]}
scale="linear"
tickFormatter={formatEnergyAxis}
/>
min
是0
,而max
是3200(格式转换中会进行单位转换)。
有没有办法调整比例?
解决方法
如果可能,请在YAxis
内调用函数.nice()
。否则,在将值传递到绑定之前调用它:
d3.scaleLinear().domain([0,3200]).nice().domain()
// [0,3500]
那是
<YAxis
domain={d3.domain([data.yAxis.min,data.yAxis.max]).nice().domain()}
scale="linear"
tickFormatter={formatEnergyAxis}
/>
,
在Y轴上,您可以将道具interval
设置为preserveEnd
来指定最后一个刻度,如下所示:
<YAxis
domain={[data.yAxis.min,data.yAxis.max]}
scale="linear"
tickFormatter={formatEnergyAxis}
interval="preserveEnd"
/>
您还可以使用值preserveStartEnd
使根和边的值可见。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。