如何在winform c#中绘制折线(点)图

问题描述 投票:0回答:1

我正在尝试制作一个 winform 应用程序,将数据库中的数据加载绘制到数据网格视图中。 enter image description here 我想要重量(kg)作为X轴,净重作为Y轴;并使用图表类型“Line”。它应该创建列表红点(X,Y),图表将在它们之间画线。 但图表绘制得像柱形图,我不知道如何修复它。我

这是我绘制图表的方法代码

public Chart ConvertToChart(DataGridView dataGridView)
{
    
        // Create a new series for the chart
        Series series = new Series();
        series.Name = "Data Series";
        series.ChartType = SeriesChartType.Column;

        // Add data points to the series
        foreach (DataGridViewRow row in dataGridView.Rows)
        {
            // Get the data from the DataGridView
            int xValue = Convert.ToInt32(row.Cells[3].Value);
            int yValue = Convert.ToInt32(row.Cells[4].Value);

            // Add the data point to the series
            series.Points.AddXY(xValue, yValue);
        }

        // Add the series to the chart
        chart1.Series.Add(series);

        // Return the chart
        return chart1;
    
    }

我希望它会是这样的: enter image description here 非常感谢任何帮助。谢谢!

c# database winforms charts linechart
1个回答
0
投票

将图表控件从 Visual Studio 添加到 Windows 窗体应用程序(拖放控件)

注意:图表控件已在 VS 2022 中弃用。

参考以下代码:

using System;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;

namespace ChartExample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            InitializeChart();
        }

        private void InitializeChart()
        {
            // Setting up chart parameters
            ChartArea chartArea = new ChartArea();
            chartArea.AxisX.Title = "X Axis";
            chartArea.AxisY.Title = "Y Axis";
            chart1.ChartAreas.Add(chartArea);

           
            Series series = new Series();
            series.ChartType = SeriesChartType.Line; // or SeriesChartType.Point
            series.Name = "MySeries";

            // Add some data points 
            series.Points.AddXY(1, 10);
            series.Points.AddXY(2, 20);
            series.Points.AddXY(3, 15);
            series.Points.AddXY(4, 25);

            // Add the series to the chart
            chart1.Series.Add(series);
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.