График пузырьков для значений, связанных с данными, включая размер пузырьков - PullRequest
0 голосов
/ 10 сентября 2018

i tried the Points.AddXY method as well but it gave the chart as shown in image.

У меня есть таблица (имя таблицы ex1, она имеет 3 столбца: x, y и размер) на сервере sql.

Iподключился к этой таблице из C # и хочу отобразить содержимое в виде пузырьковой диаграммы в моем приложении.Я могу построить значения осей 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";
       }

1 Ответ

0 голосов
/ 10 сентября 2018

Вам необходимо получить синтаксис для привязки с несколькими значениями y вправо.

Вот пример:

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

Хитрость заключается в том, чтобы добавить второе значение y для размера с запятой к первому. третья строка предназначена для дополнительных атрибутов, которые вы можете привязать, например AxisLabel, Tooltip, Label, LegendText, LegendTooltip и CustomPropertyName ( имя пользовательского свойства) ...

Они задаются как именованные пары ключ-значение, например: "Tooltip=X,otherproperty=otherfield"

Здесь - более длинное обсуждение и вот обнадеживающий результат:

enter image description here

К синтаксису, который вы использовали, могут применяться те же правила:

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

Обратите внимание, что этот способ привязки не позволяет устанавливать дополнительные атрибуты. См. Здесь хороший обзор множества способов привязки данных к Chart.

...