【问题标题】:asp.net c# how to use custom colours in chartsasp.net c#如何在图表中使用自定义颜色
【发布时间】:2012-06-08 06:17:31
【问题描述】:

谁能告诉我我可以在 ASP.Net 图表控件中使用自定义颜色。例如,我有两个系列 TOTAL 和 TARGET,我想将 total 的颜色设置为 green,将 target 的颜色设置为 red。

【问题讨论】:

  • 我了解到,诸如此类的问题有时会在 Microsoft 的论坛上得到更好的答案。

标签: c# asp.net charts


【解决方案1】:

类似这样的:

Color[] colors = new Color[] { Color.Green, Color.Red };
foreach (Series series in Chart1.Series)
{
    foreach (DataPoint point in series.Points)
    {
        point.LabelBackColor = colors[series.Points.IndexOf(point)];
    }
}

【讨论】:

    【解决方案2】:

    iv 做了类似的事情

        Chart2.Series.Add(new Series("Target")
        {
            ChartType = SeriesChartType.Column,
            Color = Color.Red,
        });
    

    【讨论】:

    • +1:我喜欢你在new 语句中设置颜色的方式。它看起来比我使用的方法更优雅。
    【解决方案3】:

    假设您的 Series1 有两个点。 因此,您可以按如下方式自定义颜色:

    Chart1.Series["Series1"].Points[0].Color=Color.Red;
    Chart1.Series["Series1"].Points[1].Color=Color.Yellow;
    

    【讨论】:

      【解决方案4】:

      System.Web.UI.DataVisualization.Charting.Series 对象有一个Color 属性。只需将颜色属性设置为您需要的颜色即可。下面是一个将给定值的水平线添加到图表的代码示例:

      public static System.Web.UI.DataVisualization.Charting.Chart addLineToChart(
          System.Web.UI.DataVisualization.Charting.Chart pChart, double pValue, System.Drawing.Color pColor)
      {        
          // I will declare a new series where every value is the value passed in
          System.Web.UI.DataVisualization.Charting.Series constantLineSeries = new System.Web.UI.DataVisualization.Charting.Series();
          constantLineSeries.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Line;
          constantLineSeries.BorderWidth = ChartingValues.CHART_LINE_THICKNESS;
          constantLineSeries.Color = pColor;
          // At each point in the old series, add a constant point in the new series.
          foreach(System.Web.UI.DataVisualization.Charting.DataPoint point in pChart.Series[0].Points)
          {
              System.Web.UI.DataVisualization.Charting.DataPoint constantLinePoint = new System.Web.UI.DataVisualization.Charting.DataPoint();
              constantLinePoint.XValue = point.XValue;            
              constantLinePoint.YValues = new double[] { pValue };
              constantLineSeries.Points.Add(constantLinePoint);
          }
          pChart.Series.Add(constantLineSeries);
          pChart.ChartAreas[0].Area3DStyle.Enable3D = false;
      
          return pChart;
      }
      

      此代码示例对您可能会发现有用的其他一些属性进行了调整。

      【讨论】:

        【解决方案5】:

        我不知道这是否有帮助,但我创建了一个自定义控件,它公开了几个可以调整的参数,例如图表类型、颜色、墙宽等。

        http://www.foliotek.com/devblog/asp-net-4-0-custom-chart-control-adjustable/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-12-22
          • 1970-01-01
          • 2018-01-23
          • 2017-02-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-03-08
          相关资源
          最近更新 更多