package com.anychart.sample.charts;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.anychart.AnyChart;
import com.anychart.AnyChartView;
import com.anychart.chart.common.dataentry.SingleValueDataSet;
import com.anychart.charts.CircularGauge;
import com.anychart.enums.Anchor;
import com.anychart.graphics.vector.text.HAlign;
import com.anychart.sample.R;
public class WindSpeedActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chart_common);
AnyChartView anyChartView = findViewById(R.id.any_chart_view);
anyChartView.setProgressBar(findViewById(R.id.progress_bar));
CircularGauge circularGauge = AnyChart.circular();
circularGauge.fill("#fff")
.stroke(null)
.padding(0, 0, 0, 0)
.margin(30, 30, 30, 30);
circularGauge.startAngle(0)
.sweepAngle(360);
double currentValue = 13.8D;
circularGauge.data(new SingleValueDataSet(new Double[] { currentValue }));
circularGauge.axis(0)
.startAngle(-150)
.radius(80)
.sweepAngle(300)
.width(3)
.ticks("{ type: 'line', length: 4, position: 'outside' }");
circularGauge.axis(0).labels().position("outside");
circularGauge.axis(0).scale()
.minimum(0)
.maximum(140);
circularGauge.axis(0).scale()
.ticks("{interval: 10}")
.minorTicks("{interval: 10}");
circularGauge.needle(0)
.stroke(null)
.startRadius("6%")
.endRadius("38%")
.startWidth("2%")
.endWidth(0);
circularGauge.cap()
.radius("4%")
.enabled(true)
.stroke(null);
circularGauge.label(0)
.text("Wind Speed")
.useHtml(true)
.hAlign(HAlign.CENTER);
circularGauge.label(0)
.anchor(Anchor.CENTER_TOP)
.offsetY(100)
.padding(15, 20, 0, 0);
circularGauge.label(1)
.text("" + currentValue + "")
.useHtml(true)
.hAlign(HAlign.CENTER);
circularGauge.label(1)
.anchor(Anchor.CENTER_TOP)
.offsetY(-100)
.padding(5, 10, 0, 0)
.background("{fill: 'none', stroke: '#c1c1c1', corners: 3, cornerType: 'ROUND'}");
circularGauge.range(0,
"{\n" +
" from: 0,\n" +
" to: 25,\n" +
" position: 'inside',\n" +
" fill: 'green 0.5',\n" +
" stroke: '1 #000',\n" +
" startSize: 6,\n" +
" endSize: 6,\n" +
" radius: 80,\n" +
" zIndex: 1\n" +
" }");
circularGauge.range(1,
"{\n" +
" from: 80,\n" +
" to: 140,\n" +
" position: 'inside',\n" +
" fill: 'red 0.5',\n" +
" stroke: '1 #000',\n" +
" startSize: 6,\n" +
" endSize: 6,\n" +
" radius: 80,\n" +
" zIndex: 1\n" +
" }");
anyChartView.setChart(circularGauge);
}
}