Код: Выделить всё
anyChartView.clear();anyChartView.invalidate();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
Мобильная версия