Как обновить chartdata на anomeChart StackedColumn?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как обновить chartdata на anomeChart StackedColumn?

Сообщение Anonymous »

У меня есть параметры, передаваемые в методе, на основе которого я хочу обновить данные своей диаграммы. Я пытался очистить

Код: Выделить всё

anyChartView.clear();anyChartView.invalidate();
Но AnyChart не может обновить данные. Ниже приведен весь метод с параметрами. < /P>
private void acoscharts(String abbr, String selectedDiscomAbbrs, String DiscomIds, String selectedyear)
{
AnyChartView anyChartView = findViewById(R.id.any_chart_view);
anyChartView.setProgressBar(findViewById(R.id.loadingbuble));

StringRequest stringRequest = new StringRequest(Request.Method.POST, URL_ACOSCHART,
new Response.Listener() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonObject = new JSONObject(response);
String success = jsonObject.getString("status");
JSONArray jsonArray = jsonObject.getJSONArray(selectedyear);

if (success.equalsIgnoreCase("true")) {

anyChartView.clear();
anyChartView.invalidate();

Cartesian column = AnyChart.column();
column.animation(false);
column.title("");
column.yScale().stackMode(ScaleStackMode.VALUE);

column.xAxis(0).title(selectedyear);
column.yAxis(0).title("Rs./kWh");

column.tooltip()
.titleFormat("{%X}")
.positionMode(TooltipPositionMode.POINT)
.format("function() {\n" +
" return this.seriesName + ': ' + parseFloat(this.value).toFixed(2);\n" +
"}");

column.legend(true);
column.legend()
.position("top")
.itemsLayout(LegendLayout.HORIZONTAL)
.align(Align.CENTER);

List ppcList = new ArrayList();
List roeList = new ArrayList();
List omChargesList = new ArrayList();
List incomeTaxList = new ArrayList();
List depreciationList = new ArrayList();
List financeChargesList = new ArrayList();
List otherDebitsList = new ArrayList();
List otherCostList = new ArrayList();
List nonTariffIncomeList = new ArrayList();
List costOfFuelList = new ArrayList();

for (int i = 0; i < jsonArray.length(); i++) {
JSONObject object = jsonArray.getJSONObject(i);

String plantName = object.getString("discom_code");
float ppc = Float.parseFloat(object.getString("tbl_power_purchase_cost"));
float roe = Float.parseFloat(object.getString("tbl_return_on_equity"));
float onmcharges = parseSafeFloat(object.optString("tbl_o_and_m_charges"));
float incomeTax = parseSafeFloat(object.optString("tbl_income_tax"));
float depreciation = parseSafeFloat(object.optString("tbl_depreciation"));
float financeCharges = parseSafeFloat(object.optString("tbl_interest_on_finance_charges"));
float otherDebits = parseSafeFloat(object.optString("tbl_other_debits"));
float otherCost = parseSafeFloat(object.optString("tbl_Other_cost"));
float nonTariffIncome = parseSafeFloat(object.optString("tbl_non_tariff_income"));
float costOfFuel = parseSafeFloat(object.optString("tbl_cost_of_fuel"));

ppcList.add(new CustomStackedDataEntry(plantName, ppc));
roeList.add(new CustomStackedDataEntry(plantName, roe));
omChargesList.add(new CustomStackedDataEntry(plantName, onmcharges));
incomeTaxList.add(new CustomStackedDataEntry(plantName, incomeTax));
depreciationList.add(new CustomStackedDataEntry(plantName, depreciation));
financeChargesList.add(new CustomStackedDataEntry(plantName, financeCharges));
otherDebitsList.add(new CustomStackedDataEntry(plantName, otherDebits));
otherCostList.add(new CustomStackedDataEntry(plantName, otherCost));
nonTariffIncomeList.add(new CustomStackedDataEntry(plantName, nonTariffIncome));
costOfFuelList.add(new CustomStackedDataEntry(plantName, costOfFuel));

}

// Create stacked series
column.column(ppcList).name("APPC").color("#ffff00");
column.column(roeList).name("RoE").color("#ff9800");
column.column(omChargesList).name("O&M Charges").color("#4caf50");
column.column(incomeTaxList).name("Income Tax").color("#ff9800");
column.column(depreciationList).name("Depreciation").color("#f44336");
column.column(financeChargesList).name("Interest & Finance").color("#9c27b0");
column.column(otherDebitsList).name("Other Debits").color("#03a9f4");
column.column(otherCostList).name("Other Cost").color("#00bcd4");
column.column(nonTariffIncomeList).name("Non Tariff Income").color("#8bc34a");

anyChartView.setChart(column);
}

} catch (Exception e) {
e.printStackTrace();
}

}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), "Error loading chart data", Toast.LENGTH_SHORT).show();
}
}) {
@Nullable
@Override
protected Map getParams() throws AuthFailureError {
Map params = new HashMap();
params.put("report_id", "6");
params.put("getstate_code", abbr);
params.put("get_discomid", DiscomIds);
params.put("get_year[]", selectedyear);
params.put("chartType", "tbl_arr");
return params;
}
};

RequestQueue requestQueue = Volley.newRequestQueue(DataDashboard.this);
requestQueue.add(stringRequest);
}
< /code>
Также я прикрепил Image
с выбранными дисколами и год, chartdata должен быть обновлен, но это не так. Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/796 ... lumn-chart
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»