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.DataEntry; import com.anychart.charts.Map; import com.anychart.core.map.series.Choropleth; import com.anychart.core.ui.ColorRange; import com.anychart.enums.SelectionMode; import com.anychart.enums.SidePosition; import com.anychart.graphics.vector.text.HAlign; import com.anychart.sample.R; import com.anychart.scales.LinearColor; import java.util.ArrayList; import java.util.List; public class ChoroplethMapActivity 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)); Map map = AnyChart.map(); map.title() .enabled(true) .useHtml(true) .hAlign(HAlign.CENTER) .fontFamily("Verdana, Helvetica, Arial, sans-serif") .padding(10, 0, 10, 0) .text(" The States That" + "Love Wine The Most.
" + "Litres of wine" + "per person each state consumed in 2013."); map.credits() .enabled(true) .url("https://en.wikipedia.org/wiki/List_of_sovereign_states_and_dependent_territories_by_population_density") .text("Data source: https://en.wikipedia.org/wiki/List_of_sovereign_states_and_dependent_territories_by_population_density") .logoSrc("https://static.anychart.com/images/maps_samples/USA_Map_with_Linear_Scale/favicon.ico"); map.geoData("anychart.maps.united_states_of_america"); ColorRange colorRange = map.colorRange(); colorRange.enabled(true) .colorLineSize(10) .stroke("#B9B9B9") .labels("{ 'padding': 3 }") .labels("{ 'size': 7 }"); colorRange.ticks() .enabled(true) .stroke("#B9B9B9") .position(SidePosition.OUTSIDE) .length(10); colorRange.minorTicks() .enabled(true) .stroke("#B9B9B9") .position("outside") .length(5); map.interactivity().selectionMode(SelectionMode.NONE); map.padding(0, 0, 0, 0); Choropleth series = map.choropleth(getData()); LinearColor linearColor = LinearColor.instantiate(); linearColor.colors(new String[]{ "#c2e9fb", "#81d4fa", "#01579b", "#002746"}); series.colorScale(linearColor); series.hovered() .fill("#f48fb1") .stroke("#f99fb9"); series.selected() .fill("#c2185b") .stroke("#c2185b"); series.labels().enabled(true); series.labels().fontSize(10); series.labels().fontColor("#212121"); series.labels().format("{%Value}"); series.tooltip() .useHtml(true) .format("function() {\n" + " return '' + this.value + ' litres per capita';\n" + " }"); anyChartView.addScript("file:///android_asset/united_states_of_america.js"); anyChartView.addScript("file:///android_asset/proj4.js"); anyChartView.setChart(map); } private List getData() { List data = new ArrayList<>(); data.add(new CustomDataEntry("US.MN", "Minnesota", 8.4)); data.add(new CustomDataEntry("US.MT", "Montana", 8.5)); data.add(new CustomDataEntry("US.ND", "North Dakota", 5.1)); data.add(new CustomDataEntry("US.ID", "Idaho", 8)); data.add(new CustomDataEntry("US.WA", "Washington", 13.1)); data.add(new CustomDataEntry("US.AZ", "Arizona", 9.7)); data.add(new CustomDataEntry("US.CA", "California", 14)); data.add(new CustomDataEntry("US.CO", "Colorado", 8.7)); data.add(new CustomDataEntry("US.NV", "Nevada", 14.7)); data.add(new CustomDataEntry("US.NM", "New Mexico", 6.9)); data.add(new CustomDataEntry("US.OR", "Oregon", 12.2)); data.add(new CustomDataEntry("US.UT", "Utah", 3.2)); data.add(new CustomDataEntry("US.WY", "Wyoming", 5.2)); data.add(new CustomDataEntry("US.AR", "Arkansas", 4.2)); data.add(new CustomDataEntry("US.IA", "Iowa", 4.7)); data.add(new CustomDataEntry("US.KS", "Kansas", 3.2)); data.add(new CustomDataEntry("US.MO", "Missouri", 7.2)); data.add(new CustomDataEntry("US.NE", "Nebraska", 5)); data.add(new CustomDataEntry("US.OK", "Oklahoma", 4.5)); data.add(new CustomDataEntry("US.SD", "South Dakota", 5)); data.add(new CustomDataEntry("US.LA", "Louisiana", 5.7)); data.add(new CustomDataEntry("US.TX", "Texas", 5)); data.add(new CustomDataEntry("US.CT", "Connecticut", 14.4, new LabelDataEntry(false))); data.add(new CustomDataEntry("US.MA", "Massachusetts", 16.9, new LabelDataEntry(false))); data.add(new CustomDataEntry("US.NH", "New Hampshire", 19.6)); data.add(new CustomDataEntry("US.RI", "Rhode Island", 14, new LabelDataEntry(false))); data.add(new CustomDataEntry("US.VT", "Vermont", 17.5)); data.add(new CustomDataEntry("US.AL", "Alabama", 6)); data.add(new CustomDataEntry("US.FL", "Florida", 12.4)); data.add(new CustomDataEntry("US.GA", "Georgia", 5.9)); data.add(new CustomDataEntry("US.MS", "Mississippi", 2.8)); data.add(new CustomDataEntry("US.SC", "South Carolina", 6.1)); data.add(new CustomDataEntry("US.IL", "Illinois", 10.2)); data.add(new CustomDataEntry("US.IN", "Indiana", 6.1)); data.add(new CustomDataEntry("US.KY", "Kentucky", 3.9)); data.add(new CustomDataEntry("US.NC", "North Carolina", 6.6)); data.add(new CustomDataEntry("US.OH", "Ohio", 7.2)); data.add(new CustomDataEntry("US.TN", "Tennessee", 5.4)); data.add(new CustomDataEntry("US.VA", "Virginia", 10.7)); data.add(new CustomDataEntry("US.WI", "Wisconsin", 9.1)); data.add(new CustomDataEntry("US.WY", "Wyoming", 5.2, new LabelDataEntry(false))); data.add(new CustomDataEntry("US.WV", "West Virginia", 2.4)); data.add(new CustomDataEntry("US.DE", "Delaware", 13.5, new LabelDataEntry(false))); data.add(new CustomDataEntry("US.DC", "District of Columbia", 25.7, new LabelDataEntry(false))); data.add(new CustomDataEntry("US.MD", "Maryland", 8.9, new LabelDataEntry(false))); data.add(new CustomDataEntry("US.NJ", "New Jersey", 14.9, new LabelDataEntry(false))); data.add(new CustomDataEntry("US.NY", "New York", 11.9)); data.add(new CustomDataEntry("US.PA", "Pennsylvania", 5.6)); data.add(new CustomDataEntry("US.ME", "Maine", 10.4)); data.add(new CustomDataEntry("US.HI", "Hawaii", 13.1)); data.add(new CustomDataEntry("US.AK", "Alaska", 10.9)); data.add(new CustomDataEntry("US.MI", "Michigan", 7.6)); return data; } class CustomDataEntry extends DataEntry { public CustomDataEntry(String id, String name, Number value) { setValue("id", id); setValue("name", name); setValue("value", value); } public CustomDataEntry(String id, String name, Number value, LabelDataEntry label) { setValue("id", id); setValue("name", name); setValue("value", value); setValue("label", label); } } class LabelDataEntry extends DataEntry { LabelDataEntry(Boolean enabled) { setValue("enabled", enabled); } } }