github地址:https://github.com/GitHubWanglei/RTLineChartView
使用:
1.創(chuàng)建實(shí)時(shí)變量:
RTLineChartView.RTVariable var_1 = new RTLineChartView.RTVariable();
var_1.identifier = "line_1";
var_1.value = 246; // 當(dāng)value改變時(shí),折線圖會(huì)實(shí)時(shí)刷新
var_1.paint.setStrokeWidth(3);
var_1.paint.setColor(Color.RED);
rtLineChartView.bindRTVariable(var_1);
2.綁定實(shí)時(shí)變量:
rtLineChartView.bindRTVariable(var_1);
3.開始監(jiān)聽:
// 采樣率sampleRate最好不要大于屏幕刷新率司恳,以避免不必要的性能浪費(fèi).
rtLineChartView.startListening(60);
4.可動(dòng)態(tài)設(shè)置y軸范圍,防止折線越界,顯示不完整.
rtLineChartView.setYAxisDynamicValue(new RTLineChartView.RTLineChartYAxisDynamicValue() {
@Override
public float minValue(float minValueInLine) {
if (minValueInLine < 0) {
return minValueInLine - 20;
}
return 0;
}
@Override
public float maxValue(float maxValueInLine) {
if (maxValueInLine > 500) {
return maxValueInLine + 50;
}
return 500;
}
});
5.可自定義左右y軸文字顯示格式:
rtLineChartView.setYAxisValueFormat(new RTLineChartView.RTLineChartYAXisValueFormat() {
@Override
public String leftValueFormat(float value) {
if (value == 500.f) {
return value+" (最大)";
} else if (value == 0.f) {
return value+" (最小)";
} else {
return value+"";
}
}
@Override
public String rightValueFormat(float value) {
return (int)value+"%";
}
});
使用注意點(diǎn):
1.每個(gè)實(shí)時(shí)變量的identifier
需唯一,否則重復(fù)的identifier
變量將無法綁定.
2.關(guān)于采樣率:
??采樣率為每秒對(duì)變量的采樣次數(shù),也是曲線每秒的刷新次數(shù)凶异,也是x時(shí)間軸每秒的移動(dòng)次數(shù).
??采樣率越大,x時(shí)間軸移動(dòng)越絲滑挤巡,但在x軸時(shí)間段內(nèi)累積的采樣點(diǎn)越多剩彬,所占內(nèi)存也越大.
??因此,調(diào)用startListening(float sampleRate)
方法時(shí)矿卑,采樣率參數(shù)sampleRate
最好不要大于屏幕刷新率喉恋,以避免不必要的性能浪費(fèi).