绘制数据绑定值的气泡图,包括气泡大小

Plot bubble chart for data-bound values, including bubble size

我在 sql 服务器中有一个 table(table 名称是 ex1,它有 3 列:x、y 和大小)。

我已从 C# 连接到此 table 并希望在我的应用程序中将内容显示为气泡图。我能够绘制 x 轴和 y 轴的值,但无法正确获取 y 值的气泡大小。

我已经分享了下面的代码。此代码在 x 轴上正确绘制 x 值,但使用 'size' 列的值绘制 y 值。

    private void button1_Click(object sender, EventArgs e)
    {
        chart4.Series["Series2"].ChartType = SeriesChartType.Bubble;
        chart4.Series["Series2"].MarkerStyle = MarkerStyle.Circle;
        SqlConnection con0 = new SqlConnection(
         "Data Source=4L861280\sqlexpress;Initial Catalog=vis1;Integrated Security=True;");
        SqlDataAdapter ad0 = new SqlDataAdapter("select * from ex1", con0);
        DataTable dt0 = new DataTable();
        ad0.Fill(dt0);
        chart4.DataSource = dt0;
        chart4.Series["Series2"].XValueMember = "x";
        chart4.Series["Series2"].YValueMembers = "y";
        chart4.Series["Series2"].YValueMembers = "size";
       }

您需要获得与多个 y 值 正确绑定的语法。

这是一个例子:

yourSeries.Points.DataBind(yourDataSource, "x", "y,size", "");

诀窍是将带有逗号的尺寸的第二个y值追加到第一个。 third 字符串用于您可能想要绑定的 extra 属性,例如 AxisLabelTooltipLabelLegendTextLegendTooltipCustomPropertyName(自定义名称属性)...

它们以命名键值对的形式给出,如下所示:"Tooltip=X,otherproperty=otherfield"

Here 是一个较长的讨论,这里是一个令人鼓舞的结果:

相同的规则可以应用于您使用的语法:

chart4.DataSource = dt0;
chart4.Series["Series2"].XValueMember  = "x";
chart4.Series["Series2"].YValueMembers = "y,size";

请注意,这种绑定方式不允许设置额外的属性。 See here for a good overview of the many ways 的绑定数据到 Chart