如何根据日期设置Anychart折线图的比例



我有任何图表已经在工作。我使用ValueDataEntry函数设置x&价值我将x设置为格式为DD/MM/YYYY HH:MM:SS(例如:2021年3月12日18:25:23(的DateTime字符串和每个x的心率值。

我想按月和周过滤数据,或者设置一个刻度(如果图表有刻度,这就是我希望图表的样子(,我可以调整图表本身的刻度。我有下面的代码片段。提前感谢:(

public void setLineChart() {
ArrayList<DataEntry> HeartRates = new ArrayList<>();
readings = LiveData.getReadingHashMap(); //Obtaining the values
if (readings.isEmpty()){
HeartRates.add(new ValueDataEntry(0, 0));
Spo2s.add(new ValueDataEntry(0, 0));
Temps.add(new ValueDataEntry(0, 0));
}
else {
for(int i =0; i<readings.size(); i++){
keyReadings = readings.keySet().toArray();
HeartRate = Double.parseDouble(readings.get(keyReadings[i]).getHeartRate());
HeartRates.add(new ValueDataEntry(String.valueOf(keyReadings[i]), HeartRate));
}
}
cartesian = AnyChart.line();
cartesian.animation(true);
cartesian.padding(10d, 20d, 5d, 20d);
cartesian.crosshair().enabled(true);
cartesian.crosshair()
.yLabel(true)
.yStroke((Stroke) null, null, null, (String) null, (String) null);
cartesian.tooltip().positionMode(TooltipPositionMode.POINT);
cartesian.title("Heart Rate");
cartesian.yAxis(0).title("Heart Rate");
cartesian.xAxis(0).title("Time");
cartesian.xAxis(0).labels().padding(5d, 5d, 5d, 5d);
cartesian.legend().enabled(true);
cartesian.legend().fontSize(13d);
cartesian.legend().padding(0d, 0d, 10d, 0d);
cartesian.xScale();
series = cartesian.line(HeartRates);
series.name("Heart Rate (BPM)");
series.hovered().markers().enabled(true);
series.hovered().markers()
.type(MarkerType.CIRCLE)
.size(4d);
series.tooltip()
.position("right")
.offsetX(5d)
.offsetY(5d);
linechartHeartRate.setChart(cartesian);

我找到了解决方案。

在我为图设置属性的代码中,我应该添加:

cartesian.xScroller(true);
OrdinalZoom xZoomHR = cartesian.xZoom();
xZoomHR.setToPointsCount(6, false, null);
xZoomHR.getStartRatio();
xZoomHR.getEndRatio();

最新更新