Bar Graph with NO X value我能够成功绘制MP Android图表,但是如果单击特定的条,则它不会显示X轴值。我正在使用kotlin,下面是示例代码的一部分。
输入:
[{“ date”:“ 2018-09-15”,“ count”:“ 5”},{“ date”:“ 2018-09-16”,“ count”:“ 10”}] >
工作代码:
val entries = ArrayList<BarEntry>()
val labels = ArrayList<String>()
val arr = JSONArray(jsonStringArray)
for (i in 0 until arr.length()) {
entries.add(BarEntry(arr.getJSONObject(i).getInt("count").toFloat(), i))
labels.add(arr.getJSONObject(i).getString("date"))
}
val barDataSet = BarDataSet(entries, "Test Data")
barDataSet.setValueTextSize(10f)
val data = BarData(labels, barDataSet)
barChart.data = data
val colors = intArrayOf(Color.rgb(132, 101, 122))
barDataSet.setColors(colors)
答案 0 :(得分:0)
您可以实现自己的ValueFormatter
以显示所需的任何文本。在getFormattedValue()
中,您可以访问entry
,您可以将其称为getXIndex()
private class MyValueFormatter implements ValueFormatter
{
@Override
public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
return String.format("%d,%f",entry.getXIndex(),value);
}
}
在kotlin中,您可以这样操作:
barDataSet.valueFormatter = object : ValueFormatter{
fun getFormattedValue(value: Float, entry: Entry, dataSetIndex: Int, viewPortHandler: ViewPortHandler): String {
return String.format("%d,%f", entry.xIndex, value)
}
}