Member 13410460 Ответов: 1

Как поместить разные цвета для каждой линии сплайна в диаграмму данных ?


Всем Привет,

Я делаю проект в своем доме. vb.net и у меня есть диаграмма, которая показывает мне 5 различных линий для моих данных.

Вот код, который я использую для своего проекта :

Private Sub DataCharts()
        Dim dt As DataTable = GetData("Chart_Monthly1")
        Dim departments As List(Of String) = (From p In dt.AsEnumerable()
                                              Select p.Field(Of String)("Department")).Distinct().ToList()
        If Chart1.Series.Count() = 1 Then
            Chart1.Series.Remove(Chart1.Series(0))

        End If
        _Chart1.Series.Clear()
        For Each department As String In departments
            Dim x As String() = (From p In dt.AsEnumerable()
                                 Where p.Field(Of String)("Department") = department
                                 Order By p.Field(Of String)("year")
                                 Select p.Field(Of String)("year")).ToArray

            Dim y As Decimal() = (From p In dt.AsEnumerable()
                                  Where p.Field(Of String)("Department") = department
                                  Order By p.Field(Of String)("year")
                                  Select p.Field(Of Decimal)("Total")).ToArray()

            Chart1.Series.Add(New Series(department))
            Chart1.Series(department).IsValueShownAsLabel = True
            Chart1.Series(department).BorderWidth = 2
            Chart1.Series(department).ChartType = SeriesChartType.Spline
            Chart1.Series(department).Points.DataBindXY(x, y)
            Chart1.Series(department).LabelForeColor = Color.MediumSeaGreen
        Next
        Chart1.Legends(0).Enabled = True

    End Sub


Что я уже пробовал:

Я попробовал гуглить, но все результаты, которые я получил, - это то, как изменить цвета в свойствах.

Любая помощь будет оценена.
Рекорды Е

1 Ответов

Рейтинг:
8

Ralf Meier

Если вы хотите изменить поведение любого элемента управления, он работает только со свойствами элемента управления. Диаграмма также является элементом управления. Но свойства принадлежат не только конструктору и времени разработки - они могут (как вы уже это делаете) также изменяться в коде (например, внутри цикла).
Почему бы вам не установить линейный цвет, который вы хотите иметь для своей серии внутри цикла, который создает различные серии ?


Member 13410460

Здравствуйте , спасибо за помощь, я посмотрел в google, как изменить цвета в цикле, но не смог найти ничего настолько конкретного. Не могли бы вы мне как-нибудь помочь на эту тему, пожалуйста.

Рекорды
Е

Ralf Meier

в вашем случае ;
Chart1.серия(отдел).Color = Green // например

Member 13410460

Это изменит все 5 сплайновых линий на зеленые.

Ralf Meier

Да ... конечно ... теперь вы должны установить для каждой новой серии новый (другой) цвет ...
Это означает : внутри вашего цикла вы должны сделать это - например, с заранее определенным массивом, где 1-й элемент зеленый, 2-й Красный, 3-й синий и так далее ...

Member 13410460

Спасибо за ваш ответ, у вас есть какая-нибудь ссылка, которую я могу взять в качестве примера для цикла?

Ralf Meier

Ссылку на что? Дай ему попробовать ...