Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C如何制作活动条形图(活动图表库)_C#_Visual Studio_Winforms_Visual Studio 2010_Livecharts - Fatal编程技术网

C# C如何制作活动条形图(活动图表库)

C# C如何制作活动条形图(活动图表库),c#,visual-studio,winforms,visual-studio-2010,livecharts,C#,Visual Studio,Winforms,Visual Studio 2010,Livecharts,我将数字数据传输到笛卡尔图中的图形。但是,在从数据库中提取数据名时,我遇到了一个问题。名称不会出现。我希望我的数据在笛卡尔图旁边显示为饼图。我想将GelirAdi列中的数据与图表匹配。总之,GelirAdi列将是name,GelirMiktari将是cartesien图中的数值,但我如何才能做到这一点 根据我的测试,可以使用linq动态设置labelpoint的工具提示 您可以尝试以下代码来实现它 private void Form1_Load(object sender, EventArgs

我将数字数据传输到笛卡尔图中的图形。但是,在从数据库中提取数据名时,我遇到了一个问题。名称不会出现。我希望我的数据在笛卡尔图旁边显示为饼图。我想将GelirAdi列中的数据与图表匹配。总之,GelirAdi列将是name,GelirMiktari将是cartesien图中的数值,但我如何才能做到这一点


根据我的测试,可以使用linq动态设置labelpoint的工具提示

您可以尝试以下代码来实现它

 private void Form1_Load(object sender, EventArgs e)
        {

            SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite");
            m_dbConnection.Open();
            SQLiteDataAdapter da = new SQLiteDataAdapter("select * from Product", m_dbConnection);
            DataTable dt = new DataTable();
            da.Fill(dt);
            dataGridView1.DataSource = dt;
            dataGridView1.AllowUserToAddRows = false;
        }

        private void button1_Click(object sender, EventArgs e)
    {
        ColumnSeries series2 = new ColumnSeries()
        {
            DataLabels = true,
            Values = new ChartValues<int>(),
            LabelPoint = point => dataGridView1.Rows.Cast<DataGridViewRow>().Where(i => Convert.ToDouble(i.Cells["number"].Value) == point.Y).Select(i => i.Cells["name"].Value.ToString()).First(),
            Title = ""               //Here you added to remove  "Series" text
            
        };
        Axis axisX = new Axis()
        {
            Separator = new Separator() { Step = 1, IsEnabled = false },
            Labels = new List<string>()
            
        };

        Axis axisY = new Axis()
        {
            LabelFormatter = y => y.ToString(),
            Separator = new Separator()

        };
        cartesianChart1.Series.Add(series2);
        cartesianChart1.AxisX.Add(axisX);
        cartesianChart1.AxisY.Add(axisY);
        foreach (DataGridViewRow item in dataGridView1.Rows)
        {

            int a = Convert.ToInt32(item.Cells["number"].Value);
            series2.Values.Add(a);
        }
    }
结果:


你的标签毫无用处。你使用什么图表库?我使用实时图表lib@BrktrL,有更新吗?请检查我的答案是否适合您。@JackJJun MSFT非常感谢您。你帮了我很多。@JackJJun MSFT我能问最后一件事吗?在图形名称的开头写着系列。示例=系列名称、系列Blabla等。为什么有系列文本。如何删除cartesien图表中的此系列文本?
 private void Form1_Load(object sender, EventArgs e)
        {

            SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite");
            m_dbConnection.Open();
            SQLiteDataAdapter da = new SQLiteDataAdapter("select * from Product", m_dbConnection);
            DataTable dt = new DataTable();
            da.Fill(dt);
            dataGridView1.DataSource = dt;
            dataGridView1.AllowUserToAddRows = false;
        }

        private void button1_Click(object sender, EventArgs e)
    {
        ColumnSeries series2 = new ColumnSeries()
        {
            DataLabels = true,
            Values = new ChartValues<int>(),
            LabelPoint = point => dataGridView1.Rows.Cast<DataGridViewRow>().Where(i => Convert.ToDouble(i.Cells["number"].Value) == point.Y).Select(i => i.Cells["name"].Value.ToString()).First(),
            Title = ""               //Here you added to remove  "Series" text
            
        };
        Axis axisX = new Axis()
        {
            Separator = new Separator() { Step = 1, IsEnabled = false },
            Labels = new List<string>()
            
        };

        Axis axisY = new Axis()
        {
            LabelFormatter = y => y.ToString(),
            Separator = new Separator()

        };
        cartesianChart1.Series.Add(series2);
        cartesianChart1.AxisX.Add(axisX);
        cartesianChart1.AxisY.Add(axisY);
        foreach (DataGridViewRow item in dataGridView1.Rows)
        {

            int a = Convert.ToInt32(item.Cells["number"].Value);
            series2.Values.Add(a);
        }
    }