MPAndroidChart - 更改消息 "No chart data available"
MPAndroidChart - Change message "No chart data available"
有什么方法可以在图表未填充时更改消息 "No chart data available"?
编辑:找到答案
chart.setNoDataText("Description that you want");
更新答案
chart.setNoDataText("Description that you want");
如果您还想自定义外观,可以通过 Paint
object:
mChart.setNoDataText("Description that you want");
Paint p = mChart.getPaint(Chart.PAINT_INFO);
p.setTextSize(...);
p.setColor(...);
p.setTypeface(...);
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_firestore__eintraege__heute);
mChart = findViewById(R.id.chartZuckerHeute);
mChart.setNoDataText("PUT IT HERE ON TOP; WORKED FOR ME");
正确答案在这里:
pie_chart.setNoDataText("No Data Available");
val paint:Paint = pie_chart.getPaint(Chart.PAINT_INFO)
paint.textSize = 40f
pie_chart.invalidate()
您还可以设置其他属性,例如文本颜色、文本字体等
你需要在setNoDataText()
之后加上pieChart.invalidate()
:
@Override
public void setDataMessagePieChart() {
pieChart.setNoDataText("... your message ...");
pieChart.invalidate();
}
这是一个有点老的线程,但我遇到了同样的问题,所以我的解决方案是在图表初始化后立即设置 nodatatext:
PieChart pieChart = findViewById(R.id.chart) //in case of fragment view.findViewById(R.id.chart)
pieChart.setNoDataText("Loading");
如果 setNoDataText
不起作用,您必须在初始化图表时设置它(然后是 运行 和 invalidate()
)。不要在马上设置数据的时候做。
有什么方法可以在图表未填充时更改消息 "No chart data available"?
编辑:找到答案
chart.setNoDataText("Description that you want");
更新答案
chart.setNoDataText("Description that you want");
如果您还想自定义外观,可以通过 Paint
object:
mChart.setNoDataText("Description that you want");
Paint p = mChart.getPaint(Chart.PAINT_INFO);
p.setTextSize(...);
p.setColor(...);
p.setTypeface(...);
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_firestore__eintraege__heute);
mChart = findViewById(R.id.chartZuckerHeute);
mChart.setNoDataText("PUT IT HERE ON TOP; WORKED FOR ME");
正确答案在这里:
pie_chart.setNoDataText("No Data Available");
val paint:Paint = pie_chart.getPaint(Chart.PAINT_INFO)
paint.textSize = 40f
pie_chart.invalidate()
您还可以设置其他属性,例如文本颜色、文本字体等
你需要在setNoDataText()
之后加上pieChart.invalidate()
:
@Override
public void setDataMessagePieChart() {
pieChart.setNoDataText("... your message ...");
pieChart.invalidate();
}
这是一个有点老的线程,但我遇到了同样的问题,所以我的解决方案是在图表初始化后立即设置 nodatatext:
PieChart pieChart = findViewById(R.id.chart) //in case of fragment view.findViewById(R.id.chart)
pieChart.setNoDataText("Loading");
如果 setNoDataText
不起作用,您必须在初始化图表时设置它(然后是 运行 和 invalidate()
)。不要在马上设置数据的时候做。