【问题标题】:Change color of chart(graphic) when choose text in combobox在组合框中选择文本时更改图表(图形)的颜色
【发布时间】:2017-01-14 15:58:57
【问题描述】:

我想在 ms 图表中根据条件构建不同颜色的图形,当我使用此代码时,没有任何反应。这是我的代码。

 if (metroComboBox3.Text == "Temperature")
        {

            chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
        //    chart1.Series["Series1"].Points[0].Color = Color.Green;


            chart1.Series[0].Color = Color.Green;
        }

        if (metroComboBox3.Text == "Relative Humidity")
        {
            chart1.Series[1].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
            //    chart1.Series["Series1"].Points[0].Color = Color.Green;
            chart1.Series[1].Color = Color.Red;
        }

【问题讨论】:

  • 您的图表有databind 吗?请分享更多信息
  • 不,我没有数据绑定
  • 我显示代码,我如何在我的答案中创建图表
  • 如果你想为系列设置颜色,代码是正确的。那么:会发生什么?使用调试器检查是否有任何条件为真并且到达 Color=.. 行! - 另外:不要在答案中输入代码,请编辑问题!

标签: c# charts colors series graphic


【解决方案1】:
chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
        chart1.Series[1].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
        chart1.Series[2].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
        if (metroComboBox1.Text == "Text 1")
        {



            for (int i = 0; i < metroGrid1.Rows.Count - 1; i++)
            {
                foreach (DataGridViewRow row in metroGrid1.Rows)
                {
                    int x = 0;
                    Int32.TryParse(metroGrid1.Rows[i].Cells[4].Value.ToString(), out x);

                    DateTime dt;


                    DateTime.TryParse(metroGrid1.Rows[i].Cells[5].Value.ToString(), out dt);

                    chart1.Series[0].Points.AddXY(metroGrid1.Rows[i].Cells[5].Value.ToString(), metroGrid1.Rows[i].Cells[4].Value.ToString());
                    //Console.WriteLine(chart1.Series[0].Points.AddXY(metroGrid1.Rows[i].Cells[5].Value.ToString(), metroGrid1.Rows[i].Cells[4].Value.ToString()));
                }
            }
        }
        if (metroComboBox1.Text == "Text 2")
        {........

【讨论】:

  • 这就是我创建图表的方式
  • 这不是答案!不要将代码放在“答案”中,请编辑问题!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-18
  • 1970-01-01
  • 2021-08-08
  • 2020-07-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多