5.1.6 Meta Data Model

This section of document describes how to use meta data model for customizing series visualization. There are 6 MetaData types:

Meta data model can be used either for series or for markers.

Setting MetaDataModel:

 
//sets a new MetaDataModel object
MetaDataModel meta1 = new MetaDataModel();

Setting parameters for whole series:

 
//sets for all series label "NewLabel"
meta1.setData(MetaDataType.LABEL, "NewLabel");

Setting parameter for a particular series:

 
//sets series with index 0 label "Special Series"
meta1.setData(MetaDataType.LABEL,0, "Special Series");

Setting parameters using logical expression: It is possible to set MetaData for particular series, that meet requirements that are defined using logical expressions. These expressions are discussed in more details in LogicalParser chapter. However, here x0 refers to KEYS, x1 to VALUES, x2 to EXTENT and so on.

1
2
3
4
//sets style for series where KEY is less than 2
meta1.setData(MetaDataType.STYLE, "x0<2", style2);
//sets style for series where VALUE is more than 1
meta1.setData(MetaDataType.LABEL, "x1>1", "Value more than 1");

MetaDataType.LABEL

Setting label “More than avg” for bars where KEY values are greater than 5. In order to use this MetaDataType, LabeledMarker should be used.

 
meta1.setData(MetaDataType.LABEL, "x0>5", "More than avg");

MetaDataType.LABEL Demonstration

Figure 5.1.6.1 MetaDataType.LABEL Demonstration

View Source

MetaDataType.HINT

This code formats label string for the VALUES less than 200 to display string “Too little”.:

 
metaModel.setData(MetaDataType.HINT,"x1<200","Too little");

MetaDataType.STYLE

MetaDataType.STYLE might be used for formatting series colors, transparency and so on, where there is a need to format specific bar, pie's sector or other object.

1
2
3
4
5
6
7
Styles style = new Styles(); //sets style object
style.getPaintStyle().setBackground(new Color(250,168,23)); //sets background color 
style.getPaintStyle().setForeground(new Color(250,168,23)); //sets foreground color
 
MetaDataModel meta1 = new MetaDataModel(); //set MetaDataModel object
meta1.setData(MetaDataType.STYLE, 0, style); //sets style for first bar
meta1.setData(MetaDataType.STYLE, 2, style); //sets style for third bar

MetaDataType.STYLE Demonstration

Figure 5.1.6.2 MetaDataType.STYLE Demonstration

View Source

MetaDataType.DATE_FORMAT

Setting date format for all data points (it is also posible to specify it for a particular point):

 
metaModel.setData(MetaDataType.DATE_FORMAT,"yy.MM.dd");

MetaDataType.NUMBER_FORMAT

Setting number format for all data points (it is also possible to specify it for a particular point):

 
metaModel.setData(MetaDataType.NUMBER_FORMAT,"#.00");

MetaDataType.BAR_WIDTH

This sample shows how to set bar width. Here we specify that for VALUES less than 2000 bar width should be 0.06.

 
meta1.setData(MetaDataType.BAR_WIDTH, "x1<2000", "0.06");

 MetaDataType.BAR_WIDTH Demonstration

Figure 5.1.6.3 MetaDataType.BAR_WIDTH Demonstration

View Source

MetaDataType.PIE_EXPLODE

MetaDataType.PIE_EXPLODE might be used for setting PieSeries sectors explode.

1
2
3
4
5
// sets explode for specific sectors
meta1.setData(MetaDataType.PIE_EXPLODE, 0, new Double(0.1));
meta1.setData(MetaDataType.PIE_EXPLODE, 1, new Double(0.045));
meta1.setData(MetaDataType.PIE_EXPLODE, 2, new Double(0.045));
meta1.setData(MetaDataType.PIE_EXPLODE, 3, new Double(0.05));

MetaDataType.PIE_EXPLODE Demonstration

Figure 5.1.6.4 MetaDataType.PIE_EXPLODE Demonstration

View Source

MetaDataType.PIE_HEIGHT

MetaDataType.PIE_HEIGHT might be used for setting Pie3DSeries sectors height.

MetaDataType.PIE_HEIGHT Demonstration

Figure 5.1.6.5 MetaDataType.PIE_EXPLODE Demonstration

View Source