diff --git a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt index 2ab8cbd..0c45b69 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt @@ -14,6 +14,14 @@ this.getPaint(Chart.PAINT_INFO).textSize = 12f.dp2px(this.context) this.setDrawGridBackground(false) this.setDrawBorders(false) + this.isDragEnabled = true + this.isScaleXEnabled = true //X轴可缩放 + this.isScaleYEnabled = false //Y轴不可缩放 + this.description.isEnabled = false + this.extraTopOffset = 5f //顶部边距 + this.extraBottomOffset = 5f //底部边距 + //去掉图例 + this.legend.isEnabled = false this.animateY(1200, Easing.EaseInOutQuad) //设置样式 val rightAxis: YAxis = this.axisRight @@ -23,12 +31,7 @@ leftAxis.axisMinimum = 0f leftAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 leftAxis.setDrawZeroLine(true) - //只显示一条阈值线 - if (leftAxis.limitLines.size > 1) { - leftAxis.limitLines.removeAt(0) - } - this.isScaleXEnabled = true //X轴可缩放 - this.isScaleYEnabled = false //Y轴不可缩放 + //设置x轴 val xAxis: XAxis = this.xAxis xAxis.textSize = 10f @@ -37,10 +40,4 @@ xAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 xAxis.granularity = 1f //禁止放大后x轴标签重绘 xAxis.position = XAxis.XAxisPosition.BOTTOM - this.extraTopOffset = 20f - this.extraBottomOffset = 10f //解决X轴显示不完全问题 - //去掉描述 - this.description.isEnabled = false - //去掉图例 - this.legend.isEnabled = false } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt index 2ab8cbd..0c45b69 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt @@ -14,6 +14,14 @@ this.getPaint(Chart.PAINT_INFO).textSize = 12f.dp2px(this.context) this.setDrawGridBackground(false) this.setDrawBorders(false) + this.isDragEnabled = true + this.isScaleXEnabled = true //X轴可缩放 + this.isScaleYEnabled = false //Y轴不可缩放 + this.description.isEnabled = false + this.extraTopOffset = 5f //顶部边距 + this.extraBottomOffset = 5f //底部边距 + //去掉图例 + this.legend.isEnabled = false this.animateY(1200, Easing.EaseInOutQuad) //设置样式 val rightAxis: YAxis = this.axisRight @@ -23,12 +31,7 @@ leftAxis.axisMinimum = 0f leftAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 leftAxis.setDrawZeroLine(true) - //只显示一条阈值线 - if (leftAxis.limitLines.size > 1) { - leftAxis.limitLines.removeAt(0) - } - this.isScaleXEnabled = true //X轴可缩放 - this.isScaleYEnabled = false //Y轴不可缩放 + //设置x轴 val xAxis: XAxis = this.xAxis xAxis.textSize = 10f @@ -37,10 +40,4 @@ xAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 xAxis.granularity = 1f //禁止放大后x轴标签重绘 xAxis.position = XAxis.XAxisPosition.BOTTOM - this.extraTopOffset = 20f - this.extraBottomOffset = 10f //解决X轴显示不完全问题 - //去掉描述 - this.description.isEnabled = false - //去掉图例 - this.legend.isEnabled = false } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt index 987ed24..dc238d1 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt @@ -31,9 +31,10 @@ } private val kTag = "MethaneMonitorFragment" - private val xAxisLabels: MutableList = ArrayList() - private val strengthEntries: MutableList = ArrayList() - private var lineDataSets: MutableList = ArrayList() + private val xAxisLabels = ArrayList() + private val strengthEntries = ArrayList() + private val lineDataSets = ArrayList() + private val dataSet = LineDataSet(strengthEntries, "") //趋势线起点X坐标 private var i = 0 @@ -49,6 +50,9 @@ viewParams.height = videoHeight.toInt() binding.cardView.layoutParams = viewParams binding.lineChart.initConfig() + dataSet.setDrawCircles(false) + //圆滑曲线 +// dataSet.mode = LineDataSet.Mode.CUBIC_BEZIER val markerView = LineChartMarkerView(requireContext()) markerView.chartView = binding.lineChart markerView.setXAxisDate(xAxisLabels) @@ -109,7 +113,7 @@ LocaleConstant.QUERY_METHANE_RESPONSE_CODE -> { val ppm = msg.obj as Long //LEL百分比 = (X / 10000) / 0.05 × 100% = X / 500 - val formatValue = "%.3f".format(ppm / 500f) + val formatValue = "%.2f".format(ppm / 500f) binding.currentGasValueView.text = "当前燃气浓度:${formatValue}% VOL" //折线图添加数据 @@ -119,9 +123,7 @@ Entry(i++.toFloat(), formatValue.toFloat(), "浓度") ) //设置数据 - val dataSet = LineDataSet(strengthEntries, "") - dataSet.setDrawCircles(false) - dataSet.mode = LineDataSet.Mode.CUBIC_BEZIER + dataSet.values = strengthEntries lineDataSets.add(dataSet) val lineData = LineData(lineDataSets) lineData.setDrawValues(false) diff --git a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt index 2ab8cbd..0c45b69 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt @@ -14,6 +14,14 @@ this.getPaint(Chart.PAINT_INFO).textSize = 12f.dp2px(this.context) this.setDrawGridBackground(false) this.setDrawBorders(false) + this.isDragEnabled = true + this.isScaleXEnabled = true //X轴可缩放 + this.isScaleYEnabled = false //Y轴不可缩放 + this.description.isEnabled = false + this.extraTopOffset = 5f //顶部边距 + this.extraBottomOffset = 5f //底部边距 + //去掉图例 + this.legend.isEnabled = false this.animateY(1200, Easing.EaseInOutQuad) //设置样式 val rightAxis: YAxis = this.axisRight @@ -23,12 +31,7 @@ leftAxis.axisMinimum = 0f leftAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 leftAxis.setDrawZeroLine(true) - //只显示一条阈值线 - if (leftAxis.limitLines.size > 1) { - leftAxis.limitLines.removeAt(0) - } - this.isScaleXEnabled = true //X轴可缩放 - this.isScaleYEnabled = false //Y轴不可缩放 + //设置x轴 val xAxis: XAxis = this.xAxis xAxis.textSize = 10f @@ -37,10 +40,4 @@ xAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 xAxis.granularity = 1f //禁止放大后x轴标签重绘 xAxis.position = XAxis.XAxisPosition.BOTTOM - this.extraTopOffset = 20f - this.extraBottomOffset = 10f //解决X轴显示不完全问题 - //去掉描述 - this.description.isEnabled = false - //去掉图例 - this.legend.isEnabled = false } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt index 987ed24..dc238d1 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt @@ -31,9 +31,10 @@ } private val kTag = "MethaneMonitorFragment" - private val xAxisLabels: MutableList = ArrayList() - private val strengthEntries: MutableList = ArrayList() - private var lineDataSets: MutableList = ArrayList() + private val xAxisLabels = ArrayList() + private val strengthEntries = ArrayList() + private val lineDataSets = ArrayList() + private val dataSet = LineDataSet(strengthEntries, "") //趋势线起点X坐标 private var i = 0 @@ -49,6 +50,9 @@ viewParams.height = videoHeight.toInt() binding.cardView.layoutParams = viewParams binding.lineChart.initConfig() + dataSet.setDrawCircles(false) + //圆滑曲线 +// dataSet.mode = LineDataSet.Mode.CUBIC_BEZIER val markerView = LineChartMarkerView(requireContext()) markerView.chartView = binding.lineChart markerView.setXAxisDate(xAxisLabels) @@ -109,7 +113,7 @@ LocaleConstant.QUERY_METHANE_RESPONSE_CODE -> { val ppm = msg.obj as Long //LEL百分比 = (X / 10000) / 0.05 × 100% = X / 500 - val formatValue = "%.3f".format(ppm / 500f) + val formatValue = "%.2f".format(ppm / 500f) binding.currentGasValueView.text = "当前燃气浓度:${formatValue}% VOL" //折线图添加数据 @@ -119,9 +123,7 @@ Entry(i++.toFloat(), formatValue.toFloat(), "浓度") ) //设置数据 - val dataSet = LineDataSet(strengthEntries, "") - dataSet.setDrawCircles(false) - dataSet.mode = LineDataSet.Mode.CUBIC_BEZIER + dataSet.values = strengthEntries lineDataSets.add(dataSet) val lineData = LineData(lineDataSets) lineData.setDrawValues(false) diff --git a/app/src/main/java/com/casic/app/safetreecontroller/widgets/LineChartMarkerView.kt b/app/src/main/java/com/casic/app/safetreecontroller/widgets/LineChartMarkerView.kt index 56f4571..5736006 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/widgets/LineChartMarkerView.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/widgets/LineChartMarkerView.kt @@ -22,7 +22,7 @@ super.refreshContent(e, highlight) try { timeView.text = xAxisDate[(e.x).toInt()] - valueView.text = "${e.y}% VOL" + valueView.text = "${"%.2f".format(e.y)}% VOL" } catch (e1: Exception) { e1.printStackTrace() } diff --git a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt index 2ab8cbd..0c45b69 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt @@ -14,6 +14,14 @@ this.getPaint(Chart.PAINT_INFO).textSize = 12f.dp2px(this.context) this.setDrawGridBackground(false) this.setDrawBorders(false) + this.isDragEnabled = true + this.isScaleXEnabled = true //X轴可缩放 + this.isScaleYEnabled = false //Y轴不可缩放 + this.description.isEnabled = false + this.extraTopOffset = 5f //顶部边距 + this.extraBottomOffset = 5f //底部边距 + //去掉图例 + this.legend.isEnabled = false this.animateY(1200, Easing.EaseInOutQuad) //设置样式 val rightAxis: YAxis = this.axisRight @@ -23,12 +31,7 @@ leftAxis.axisMinimum = 0f leftAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 leftAxis.setDrawZeroLine(true) - //只显示一条阈值线 - if (leftAxis.limitLines.size > 1) { - leftAxis.limitLines.removeAt(0) - } - this.isScaleXEnabled = true //X轴可缩放 - this.isScaleYEnabled = false //Y轴不可缩放 + //设置x轴 val xAxis: XAxis = this.xAxis xAxis.textSize = 10f @@ -37,10 +40,4 @@ xAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 xAxis.granularity = 1f //禁止放大后x轴标签重绘 xAxis.position = XAxis.XAxisPosition.BOTTOM - this.extraTopOffset = 20f - this.extraBottomOffset = 10f //解决X轴显示不完全问题 - //去掉描述 - this.description.isEnabled = false - //去掉图例 - this.legend.isEnabled = false } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt index 987ed24..dc238d1 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt @@ -31,9 +31,10 @@ } private val kTag = "MethaneMonitorFragment" - private val xAxisLabels: MutableList = ArrayList() - private val strengthEntries: MutableList = ArrayList() - private var lineDataSets: MutableList = ArrayList() + private val xAxisLabels = ArrayList() + private val strengthEntries = ArrayList() + private val lineDataSets = ArrayList() + private val dataSet = LineDataSet(strengthEntries, "") //趋势线起点X坐标 private var i = 0 @@ -49,6 +50,9 @@ viewParams.height = videoHeight.toInt() binding.cardView.layoutParams = viewParams binding.lineChart.initConfig() + dataSet.setDrawCircles(false) + //圆滑曲线 +// dataSet.mode = LineDataSet.Mode.CUBIC_BEZIER val markerView = LineChartMarkerView(requireContext()) markerView.chartView = binding.lineChart markerView.setXAxisDate(xAxisLabels) @@ -109,7 +113,7 @@ LocaleConstant.QUERY_METHANE_RESPONSE_CODE -> { val ppm = msg.obj as Long //LEL百分比 = (X / 10000) / 0.05 × 100% = X / 500 - val formatValue = "%.3f".format(ppm / 500f) + val formatValue = "%.2f".format(ppm / 500f) binding.currentGasValueView.text = "当前燃气浓度:${formatValue}% VOL" //折线图添加数据 @@ -119,9 +123,7 @@ Entry(i++.toFloat(), formatValue.toFloat(), "浓度") ) //设置数据 - val dataSet = LineDataSet(strengthEntries, "") - dataSet.setDrawCircles(false) - dataSet.mode = LineDataSet.Mode.CUBIC_BEZIER + dataSet.values = strengthEntries lineDataSets.add(dataSet) val lineData = LineData(lineDataSets) lineData.setDrawValues(false) diff --git a/app/src/main/java/com/casic/app/safetreecontroller/widgets/LineChartMarkerView.kt b/app/src/main/java/com/casic/app/safetreecontroller/widgets/LineChartMarkerView.kt index 56f4571..5736006 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/widgets/LineChartMarkerView.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/widgets/LineChartMarkerView.kt @@ -22,7 +22,7 @@ super.refreshContent(e, highlight) try { timeView.text = xAxisDate[(e.x).toInt()] - valueView.text = "${e.y}% VOL" + valueView.text = "${"%.2f".format(e.y)}% VOL" } catch (e1: Exception) { e1.printStackTrace() } diff --git a/app/src/main/res/layout/popu_line_chart_marker.xml b/app/src/main/res/layout/popu_line_chart_marker.xml index 82f3fd6..df796b0 100644 --- a/app/src/main/res/layout/popu_line_chart_marker.xml +++ b/app/src/main/res/layout/popu_line_chart_marker.xml @@ -13,18 +13,18 @@ android:layout_height="wrap_content" android:background="@drawable/bg_text_tag_blue" android:gravity="center" - android:padding="5dp" + android:padding="@dimen/dp_3" android:text="04月01日" android:textColor="@color/white" - android:textSize="@dimen/sp_12" /> + android:textSize="11sp" /> + android:textSize="11sp" /> \ No newline at end of file