angular - AmCharts4 - 将 y = 0 轴与多个 y 轴同步
问题描述
我正在尝试在 amcharts4 中构建一个 XY 图表,它有两个 y 轴,一个在左侧,另一个在右侧。两个轴指的是具有不同值范围的两个不同变量。我无法配置图表,以便 y 轴“共享”y = 0 轴。当我想查看 x 轴的一部分并且我对两个独立变量的趋势更感兴趣时,它很有用。我更感兴趣的是查看变量何时为正或负以及它们之间的关系(确切值将显示在提示中)。一种解决方案可能是使用两个 y 轴值之间具有较大范围的固定比例。但是,在这种情况下,如果我有一个变量在 0 附近变化一点,而另一个变量的范围更大,
示例:https ://imgur.com/a/HFqsIy6 浅蓝色表示左侧的 y 轴,紫色表示右侧。
我想要的是一个图表,左边有值 [-2, 2],右边有 [-400, 400],这样 0 就在两个 y 轴的中心。我现在拥有的是一个图表,其中紫色变量似乎具有负值,因为我从左到右读取它。
一个想法是手动计算轴的范围,以便得到新的区间 [-400, 400] 但有两个问题: - 我有大量数据来检查两者的最大值和最小值轴。就我而言,在图表中,将显示大约 10 个变量。- 我无法概括微积分,因为值可以是任何类型:只有负数、只有正数或正负。我认为产生所需输出间隔的函数对我来说太昂贵了。
是否有一个 amcharts4 方法/属性/等可以让我轻松地做到这一点?
const data = [{"var1": 0, "var2": 400, "MyDate": `today`}, {"var1": 0, "var2": 0, "MyDate": `tomorrow`};
const chart = am4core.create(chartTitle, am4charts.XYChart);
chart.data = data;
const dateAxis = this.chart.xAxes.push(new am4charts.DateAxis());
const valueAxis1 = this.chart.yAxes.push(new am4charts.ValueAxis());
const valueAxis2 = this.chart.yAxes.push(new am4charts.ValueAxis());
valueAxis2.renderer.opposite = true;
const series = this.chart.series.push(new am4charts.LineSeries());
series.dataFields.valueY = "var1";
series.dataFields.dateX = "MyDate";
const series2 = this.chart.series.push(new am4charts.LineSeries());
series2.dataFields.valueY = "var2";
series2.dataFields.dateX = "MyDate";
解决方案
推荐阅读
- html - 我如何实际将外部字体导入我的网站 (CSS)
- spring-boot - 带有 Spring Boot 应用程序的 Jax RS
- php - 我想和 strtotime 约会。上周五或上个月的周六或周日
- wordpress - 警告:“继续”定位开关相当于“中断”。您的意思是使用“继续 2”吗?迪维主题
- javascript - 仅在选中复选框时提交表单
- powershell - Powershell 需要几分钟来加载脚本/显示提示
- ios - 在 swift 中将参数数组作为请求正文传递
- git - 如何更改尚未推送的倒数第二个提交消息
- python - pandas OSError:[Errno 22] read_excel 中的参数无效
- xampp - Magento 2 在本地 windows 10 xampp 环境中安装