Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

BubbleChartDataAdapter Class

The data adapter that provides data to generate Bubble chart items.

Namespace: DevExpress.XtraMap

Assembly: DevExpress.XtraMap.v24.2.dll

NuGet Package: DevExpress.Win.Map

#Declaration

[BubbleChartDataAdapter.BubbleBindingProperties]
public class BubbleChartDataAdapter :
    ChartDataSourceAdapter,
    ITemplateGeometryProvider,
    IBubbleDataAdapter,
    IChartDataAdapter,
    IDataSourceDataAdapter,
    IDataAdapter,
    IDisposable

#Example

This example demonstrates how to generate bubble charts for a map control. Do the following:

    // Specify data for the bubble layer.
    BubbleLayer.Data = CreateData();
private IMapDataAdapter CreateData() {
    BubbleChartDataAdapter adapter = new BubbleChartDataAdapter() {
        DataSource = LoadData(),
        MeasureRules = CreateMeasureRules(),
        ItemMaxSize = 60,
        ItemMinSize = 10
    };

    #region #Mappings
    // Map the properties of chart items to the appropriate fields in the data source.
    adapter.Mappings.Latitude = "glat";
    adapter.Mappings.Longitude = "glon";
    adapter.Mappings.Value = "mag";
    #endregion #Mappings

    // Create attribute mappings to provide additional information about map items to the map.
    adapter.AttributeMappings.Add(new MapItemAttributeMapping("Magnitude", "mag"));
    adapter.AttributeMappings.Add(new MapItemAttributeMapping("Year", "yr"));
    adapter.AttributeMappings.Add(new MapItemAttributeMapping("Month", "mon"));
    adapter.AttributeMappings.Add(new MapItemAttributeMapping("Day", "day"));
    adapter.AttributeMappings.Add(new MapItemAttributeMapping("Depth", "dep"));

    return adapter;
}

private DataTable LoadData() {
    DataSet ds = new DataSet();
    ds.ReadXml(dataPath);
    DataTable dt = ds.Tables[0];
    dt.DefaultView.RowFilter = string.Format(CultureInfo.InvariantCulture, "(mag >= {0}) AND (mag <= {1})", minMagnitude, maxMagnitude);

    return ds.Tables[0];
}

private MeasureRules CreateMeasureRules() {
    MeasureRules measureRules = new MeasureRules();

    measureRules.ApproximateValues = true;
    measureRules.RangeDistribution = new LinearRangeDistribution();

    for (int i = minMagnitude; i < maxMagnitude; i++) {
        measureRules.RangeStops.Add(i);
    }

    return measureRules;
}

#Implements

See Also