В zedgraph, как динамически добавлять / удалять бары, когда Axis.Type = Text - PullRequest
0 голосов
/ 21 января 2012

Я использую zedgraph для рисования гистограммы в моем проекте vb.net. Основание стержня - Y (что означает, что все стержни горизонтальны). У меня есть 9 полей для выбора пользователем, и как только пользователь щелкнет по полю, появится одна соответствующая строка. Конечно, пользователь может щелкнуть выбранное поле, чтобы удалить соответствующий элемент панели. Я могу сделать это. Основная идея состоит в том, чтобы получить все элементы бара и настроить их видимость в соответствии с выбором пользователя. Мои проблемы в том, что я хочу, чтобы рядом с каждой строкой была текстовая метка (эта текстовая метка отличается от легенды), поэтому я установил текст yAxis.Type =. Есть две проблемы:

1) Когда я добавляю бары, мне все еще нужно указать значения x и y. Как мне установить значение y в этом случае, чтобы убедиться, что панель отлично сочетается с ее текстом?

2) Насколько я знаю, я могу добавлять текстовые метки в виде массива, как показывает код последней строки. Но очевидно, что это работает только для гистограммы с фиксированными барами. В моем случае количество баров, а также порядок меняется в зависимости от выбора пользователя. Как я могу установить текстовые метки?

Dim gpBar As GraphPane
            'bar setting
            gpBar.BarSettings.Base = BarBase.Y

            gpBar.BarSettings.MinBarGap = 0.1
            gpBar.BarSettings.ClusterScaleWidth = 4
            gpBar.BarSettings.Type = BarType.Cluster
            gpBar.YAxis.Type = AxisType.Text
            **gpBar.YAxis.Scale.TextLabels = {"a", "b"}**

1 Ответ

0 голосов
/ 13 февраля 2012

Простое, но, возможно, недостаточное решение - перерисовывать все полосы и метки каждый раз, когда пользователь меняет свой выбор полос.

...