Search in sources :

Example 21 with GradientColor

use of com.vaadin.addon.charts.model.style.GradientColor in project charts by vaadin.

the class ChartTypes method chartTypesBubbleSnippet1.

public void chartTypesBubbleSnippet1() {
    // Create a bubble chart
    Chart chart = new Chart(ChartType.BUBBLE);
    chart.setWidth("640px");
    chart.setHeight("350px");
    // Modify the default configuration a bit
    Configuration conf = chart.getConfiguration();
    conf.setTitle("Champagne Consumption by Country");
    // Disable legend
    conf.getLegend().setEnabled(false);
    conf.getTooltip().setFormatter("this.point.name + ': ' + " + "Math.round(100*(this.point.z * this.point.z))/100.0 + " + "' M bottles'");
    // World map as background
    String url = VaadinServlet.getCurrent().getServletContext().getContextPath() + "/VAADIN/themes/mytheme/img/map.png";
    conf.getChart().setPlotBackgroundImage(url);
    // Show more bubbly bubbles with spherical color gradient
    PlotOptionsBubble plotOptions = new PlotOptionsBubble();
    Marker marker = new Marker();
    GradientColor color = GradientColor.createRadial(0.4, 0.3, 0.7);
    color.addColorStop(0.0, new SolidColor(255, 255, 255, 0.5));
    color.addColorStop(1.0, new SolidColor(170, 70, 67, 0.5));
    marker.setFillColor(color);
    plotOptions.setMarker(marker);
    conf.setPlotOptions(plotOptions);
    // Source: CIVC - Les expeditions de vins de Champagne en 2011
    DataSeries series = new DataSeries("Countries");
    Object[][] data = { { "France", 181.6 }, { "United Kingdom", 34.53 }, { "United States", 19.37 } };
    for (Object[] country : data) {
        String name = (String) country[0];
        double amount = (Double) country[1];
        Coordinate pos = new Coordinate();
        DataSeriesItem3d item = new DataSeriesItem3d();
        item.setX(pos.longitude * Math.cos(pos.latitude / 2.0 * (Math.PI / 160)));
        item.setY(pos.latitude * 1.2);
        item.setZ(Math.sqrt(amount));
        item.setName(name);
        series.add(item);
    }
    conf.addSeries(series);
    // Set the category labels on the axis correspondingly
    XAxis xaxis = new XAxis();
    xaxis.setExtremes(-180, 180);
    conf.addxAxis(xaxis);
    // Set the Y axis title
    YAxis yaxis = new YAxis();
    yaxis.setExtremes(-90, 90);
    conf.addyAxis(yaxis);
}
Also used : DataSeriesItem3d(com.vaadin.addon.charts.model.DataSeriesItem3d) Configuration(com.vaadin.addon.charts.model.Configuration) GradientColor(com.vaadin.addon.charts.model.style.GradientColor) PlotOptionsBubble(com.vaadin.addon.charts.model.PlotOptionsBubble) SolidColor(com.vaadin.addon.charts.model.style.SolidColor) Marker(com.vaadin.addon.charts.model.Marker) XAxis(com.vaadin.addon.charts.model.XAxis) DataSeries(com.vaadin.addon.charts.model.DataSeries) Chart(com.vaadin.addon.charts.Chart) YAxis(com.vaadin.addon.charts.model.YAxis)

Example 22 with GradientColor

use of com.vaadin.addon.charts.model.style.GradientColor in project charts by vaadin.

the class ChartOptionsJSONSerializationTest method toJSON_itemWithRadialGradientColor_RadialGradientSerialized.

@Test
public void toJSON_itemWithRadialGradientColor_RadialGradientSerialized() {
    GradientColor color = GradientColor.createRadial(0.5, 0.3, 0.7);
    color.addColorStop(0, new SolidColor(255, 128, 0));
    color.addColorStop(1, new SolidColor(128, 64, 0));
    DataSeriesItem item = new DataSeriesItem("Foobar", 45.0);
    item.setColor(color);
    DataSeries series = new DataSeries();
    series.add(item);
    String expected = "{\"data\":[{\"name\":\"Foobar\",\"y\":45.0,\"color\":{\"stops\":[[0.0,\"#FF8000\"],[1.0,\"#804000\"]],\"radialGradient\":{\"cx\":0.5,\"cy\":0.3,\"r\":0.7}}}]}";
    assertEquals(expected, toJSON(series));
}
Also used : GradientColor(com.vaadin.addon.charts.model.style.GradientColor) SolidColor(com.vaadin.addon.charts.model.style.SolidColor) DataSeries(com.vaadin.addon.charts.model.DataSeries) DataSeriesItem(com.vaadin.addon.charts.model.DataSeriesItem) Test(org.junit.Test)

Example 23 with GradientColor

use of com.vaadin.addon.charts.model.style.GradientColor in project charts by vaadin.

the class ChartOptionsJSONSerializationTest method toJSON_ThemeSetWithColorStops_StopsSerialized.

@Test
public void toJSON_ThemeSetWithColorStops_StopsSerialized() {
    Theme theme = new Theme();
    GradientColor linear = GradientColor.createLinear(1, 2, 3, 4);
    linear.addColorStop(5, SolidColor.BLUE);
    theme.setColors(linear);
    options.setTheme(theme);
    String expected = String.format(ThemeWithLinearGradientAndStopsFormat, 1, 2, 3, 4, 5, SolidColor.BLUE.toString());
    assertEquals(expected, toJSON(options));
}
Also used : GradientColor(com.vaadin.addon.charts.model.style.GradientColor) Theme(com.vaadin.addon.charts.model.style.Theme) Test(org.junit.Test)

Example 24 with GradientColor

use of com.vaadin.addon.charts.model.style.GradientColor in project charts by vaadin.

the class ThemeGradientColorBeanSerializer method serialize.

@Override
public void serialize(Object bean, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    // linearGradient: [0, 0, 250, 500],
    // stops: [
    // [0, 'rgb(48, 96, 48)'],
    // [1, 'rgb(0, 0, 0)']
    // ]
    GradientColor value = (GradientColor) bean;
    jgen.writeStartObject();
    if (value.getLinearGradient() != null) {
        ArrayNode array = JsonNodeFactory.instance.arrayNode();
        GradientColor.LinearGradient linearGradient = value.getLinearGradient();
        array.addPOJO(linearGradient.getX1());
        array.addPOJO(linearGradient.getY1());
        array.addPOJO(linearGradient.getX2());
        array.addPOJO(linearGradient.getY2());
        jgen.writeObjectField("linearGradient", array);
    } else {
        GradientColor.RadialGradient radialGradient = value.getRadialGradient();
        ArrayNode array = JsonNodeFactory.instance.arrayNode();
        array.addPOJO(radialGradient.getCx());
        array.addPOJO(radialGradient.getCy());
        array.addPOJO(radialGradient.getR());
        jgen.writeObjectField("radialGradient", array);
    }
    serializeFields(bean, jgen, provider);
    jgen.writeEndObject();
}
Also used : GradientColor(com.vaadin.addon.charts.model.style.GradientColor) ArrayNode(com.fasterxml.jackson.databind.node.ArrayNode)

Example 25 with GradientColor

use of com.vaadin.addon.charts.model.style.GradientColor in project charts by vaadin.

the class ChartDesignReaderTest method readConfiguration_chartHasLinearGradientBackgroundColor_theLinearGradientIsDefinedInConfiguration.

@Test
public void readConfiguration_chartHasLinearGradientBackgroundColor_theLinearGradientIsDefinedInConfiguration() {
    Elements elements = createElements("<chart><background-color><linear-gradient x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\"></linear-gradient>" + "<stops position=\"0\" color=\"white\"></stops>" + "<stops position=\"1\" color=\"black\"></stops></background-color></chart>");
    Configuration configuration = new Configuration();
    ChartDesignReader.readConfigurationFromElements(elements, configuration);
    assertThat(configuration.getChart().getBackgroundColor(), instanceOf(GradientColor.class));
    GradientColor backgroundColor = (GradientColor) configuration.getChart().getBackgroundColor();
    assertNotNull(backgroundColor.getLinearGradient());
}
Also used : Configuration(com.vaadin.addon.charts.model.Configuration) GradientColor(com.vaadin.addon.charts.model.style.GradientColor) Elements(org.jsoup.select.Elements) Test(org.junit.Test)

Aggregations

GradientColor (com.vaadin.addon.charts.model.style.GradientColor)29 Configuration (com.vaadin.addon.charts.model.Configuration)18 Chart (com.vaadin.addon.charts.Chart)15 SolidColor (com.vaadin.addon.charts.model.style.SolidColor)15 YAxis (com.vaadin.addon.charts.model.YAxis)13 AxisTitle (com.vaadin.addon.charts.model.AxisTitle)9 Test (org.junit.Test)9 ListSeries (com.vaadin.addon.charts.model.ListSeries)8 Marker (com.vaadin.addon.charts.model.Marker)8 PlotOptionsArea (com.vaadin.addon.charts.model.PlotOptionsArea)7 Element (org.jsoup.nodes.Element)7 Hover (com.vaadin.addon.charts.model.Hover)6 DataLabels (com.vaadin.addon.charts.model.DataLabels)5 DataSeries (com.vaadin.addon.charts.model.DataSeries)5 Labels (com.vaadin.addon.charts.model.Labels)5 PlotOptionsGauge (com.vaadin.addon.charts.model.PlotOptionsGauge)5 DataSeriesItem (com.vaadin.addon.charts.model.DataSeriesItem)4 States (com.vaadin.addon.charts.model.States)4 Background (com.vaadin.addon.charts.model.Background)3 Dial (com.vaadin.addon.charts.model.Dial)3