Is there any way to change the message "No chart data available" when the chart is not populated?
Edit: Found the answer
chart.setNoDataText("Description that you want");
Is there any way to change the message "No chart data available" when the chart is not populated?
Edit: Found the answer
chart.setNoDataText("Description that you want");
update answer
chart.setNoDataText("Description that you want");
If you also want to customize look & feel, you can do it through Paint object:
mChart.setNoDataText("Description that you want");
Paint p = mChart.getPaint(Chart.PAINT_INFO);
p.setTextSize(...);
p.setColor(...);
p.setTypeface(...);
...
The Correct answer is here:
pie_chart.setNoDataText("No Data Available");
val paint:Paint = pie_chart.getPaint(Chart.PAINT_INFO)
paint.textSize = 40f
pie_chart.invalidate()
You also set other properties like text color, text typeface etc
@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");
You need put pieChart.invalidate() after setNoDataText():
@Override
public void setDataMessagePieChart() {
pieChart.setNoDataText("... your message ...");
pieChart.invalidate();
}
It's a little bit old thread, but I had the same issue so my solution was to set nodatatext immediately after the initialization of a chart:
PieChart pieChart = findViewById(R.id.chart) //in case of fragment view.findViewById(R.id.chart)
pieChart.setNoDataText("Loading");
If setNoDataText is not working, you have to set it (and after that run an invalidate()) when you are initializing the chart. Don't do it when you are right away to set the data.