MPChart 不在适合屏幕上显示轴标签
MPChart dont show axis labels at fit screen
我使用的 mpchart 库版本:3.1.0
图表为水平条形图。
这是我的代码:
chart.description.isEnabled = false
val xAxis = chart.xAxis
xAxis.position = XAxisPosition.BOTTOM
xAxis.typeface = typeface
xAxis.setDrawGridLines(true)
xAxis.granularity = 1f
val xAxisLabel: ArrayList<String> = ArrayList()
xAxisLabel.add("test_1")
xAxisLabel.add("test_2")
xAxisLabel.add("test_3")
xAxisLabel.add("test_4")
xAxisLabel.add("test_5")
xAxisLabel.add("test_6")
xAxisLabel.add("test_7")
xAxisLabel.add("test_8")
xAxisLabel.add("test_9")
xAxisLabel.add("test_10")
xAxisLabel.add("test_11")
xAxisLabel.add("test_12")
xAxisLabel.add("test_13")
xAxisLabel.add("test_14")
xAxisLabel.add("test_15")
xAxisLabel.add("test_16")
xAxisLabel.add("test_17")
xAxisLabel.add("test_18")
xAxisLabel.add("test_19")
xAxisLabel.add("test_20")
xAxisLabel.add("test_21")
xAxisLabel.add("test_22")
xAxisLabel.add("test_23")
xAxisLabel.add("test_24")
xAxisLabel.add("test_25")
xAxisLabel.add("test_26")
xAxisLabel.add("test_27")
val yVals1 = ArrayList<BarEntry>()
for (i in 0 until xAxisLabel.size) {
val newBEntry = BarEntry(i.toFloat(), i + 1.toFloat())
yVals1.add(newBEntry)
}
chart.xAxis.valueFormatter = IndexAxisValueFormatter(xAxisLabel);
val set1: BarDataSet
set1 = BarDataSet(yVals1, "استان")
val dataSets = ArrayList<IBarDataSet>()
dataSets.add(set1)
val data = BarData(dataSets)
data.setValueTypeface(typeface)
chart.setPinchZoom(true)
chart.setDrawValueAboveBar(true);
chart.getAxisLeft().setAxisMaximum(50f);
chart.getAxisLeft().setAxisMinimum(0f);
chart.setBackgroundColor(Color.TRANSPARENT)
chart.setDrawGridBackground(false)
chart.getLegend().setEnabled(false)
chart.getAxisLeft().setDrawLabels(false);
chart.getAxisLeft().setDrawGridLines(false);
chart.getXAxis().setDrawAxisLine(false);
chart.getXAxis().setDrawGridLines(false);
chart.getAxisRight().setDrawLabels(false);
chart.getAxisRight().setDrawGridLines(false);
chart.setDrawBorders(false);
chart.axisLeft.isEnabled = false
chart.axisRight.isEnabled = false
chart.xAxis.setAxisMaximum(26.5f);
chart.xAxis.setAxisMinimum(0f);
chart.xAxis.spaceMin = 0f
chart.xAxis.spaceMax = 1f
chart.fitScreen();
chart.data = data
但是图表 X 轴标签在适合屏幕中被跳过。
当我放大到最后一个缩放级别时,所有标签值都正确显示。
如何强制图表在适合屏幕的视图中显示所有标签?
看到mpchart example code问题解决。我只需要使用这个片段:
xAxis.labelCount = xAxisLabel.size()
我使用的 mpchart 库版本:3.1.0
图表为水平条形图。
这是我的代码:
chart.description.isEnabled = false
val xAxis = chart.xAxis
xAxis.position = XAxisPosition.BOTTOM
xAxis.typeface = typeface
xAxis.setDrawGridLines(true)
xAxis.granularity = 1f
val xAxisLabel: ArrayList<String> = ArrayList()
xAxisLabel.add("test_1")
xAxisLabel.add("test_2")
xAxisLabel.add("test_3")
xAxisLabel.add("test_4")
xAxisLabel.add("test_5")
xAxisLabel.add("test_6")
xAxisLabel.add("test_7")
xAxisLabel.add("test_8")
xAxisLabel.add("test_9")
xAxisLabel.add("test_10")
xAxisLabel.add("test_11")
xAxisLabel.add("test_12")
xAxisLabel.add("test_13")
xAxisLabel.add("test_14")
xAxisLabel.add("test_15")
xAxisLabel.add("test_16")
xAxisLabel.add("test_17")
xAxisLabel.add("test_18")
xAxisLabel.add("test_19")
xAxisLabel.add("test_20")
xAxisLabel.add("test_21")
xAxisLabel.add("test_22")
xAxisLabel.add("test_23")
xAxisLabel.add("test_24")
xAxisLabel.add("test_25")
xAxisLabel.add("test_26")
xAxisLabel.add("test_27")
val yVals1 = ArrayList<BarEntry>()
for (i in 0 until xAxisLabel.size) {
val newBEntry = BarEntry(i.toFloat(), i + 1.toFloat())
yVals1.add(newBEntry)
}
chart.xAxis.valueFormatter = IndexAxisValueFormatter(xAxisLabel);
val set1: BarDataSet
set1 = BarDataSet(yVals1, "استان")
val dataSets = ArrayList<IBarDataSet>()
dataSets.add(set1)
val data = BarData(dataSets)
data.setValueTypeface(typeface)
chart.setPinchZoom(true)
chart.setDrawValueAboveBar(true);
chart.getAxisLeft().setAxisMaximum(50f);
chart.getAxisLeft().setAxisMinimum(0f);
chart.setBackgroundColor(Color.TRANSPARENT)
chart.setDrawGridBackground(false)
chart.getLegend().setEnabled(false)
chart.getAxisLeft().setDrawLabels(false);
chart.getAxisLeft().setDrawGridLines(false);
chart.getXAxis().setDrawAxisLine(false);
chart.getXAxis().setDrawGridLines(false);
chart.getAxisRight().setDrawLabels(false);
chart.getAxisRight().setDrawGridLines(false);
chart.setDrawBorders(false);
chart.axisLeft.isEnabled = false
chart.axisRight.isEnabled = false
chart.xAxis.setAxisMaximum(26.5f);
chart.xAxis.setAxisMinimum(0f);
chart.xAxis.spaceMin = 0f
chart.xAxis.spaceMax = 1f
chart.fitScreen();
chart.data = data
但是图表 X 轴标签在适合屏幕中被跳过。
当我放大到最后一个缩放级别时,所有标签值都正确显示。
如何强制图表在适合屏幕的视图中显示所有标签?
看到mpchart example code问题解决。我只需要使用这个片段:
xAxis.labelCount = xAxisLabel.size()