精华内容
下载资源
问答
  • c#chart控件
    2020-08-21 10:04:24
                DataSet dataSet = new DataSet();
                OleDbConnection conn = new OleDbConnection();
                conn.ConnectionString = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + @"D:\test\data.xls" + ";" +
                "Extended Properties='Excel 8.0;HDR=YES;IMEX=2';";
                conn.Open();
                string ss = "select* from[Student$] ";
                OleDbCommand oleDb = new OleDbCommand(ss, conn);
                OleDbDataReader dbDataReader = oleDb.ExecuteReader();
                this.chart1.Series["Series1"].Points.DataBindXY(dbDataReader, "name", dbDataReader, "age");
    
                this.chart1.Titles.Add("学生年龄分布");//标题
                this.chart1.ChartAreas[0].Axes[0].MajorGrid.Enabled = true;//X轴上网格
                this.chart1.ChartAreas[0].Axes[1].MajorGrid.Enabled = false;//Y轴上网格
                this.chart1.ChartAreas[0].Axes[0].MajorGrid.LineDashStyle=ChartDashStyle.Dash;   //网格类型 短横线
                this.chart1.ChartAreas[0].Axes[0].MajorGrid.LineColor = Color.Red;
                this.chart1.ChartAreas[0].Axes[0].MajorTickMark.Enabled = false;                //  x轴上突出的小点
                this.chart1.ChartAreas[0].Axes[1].LabelStyle.Format = "#岁";
                this.chart1.ChartAreas[0].Axes[0].LineWidth = 3;
    
                this.chart1.Series["Series1"].ToolTip = "#VALX年\r#VAL";//鼠标提示
                this.chart1.Series["Series1"].ChartType = SeriesChartType.Line;
    
                this.chart1.Series["Series1"].Color = Color.Red;               //线条颜色
                this.chart1.Series["Series1"].BorderWidth = 3;                 //线条粗细
                this.chart1.Series["Series1"].MarkerBorderColor = Color.Red;   //标记点边框颜色
                this.chart1.Series["Series1"].MarkerBorderWidth = 3;             //标记点边框大小
                this.chart1.Series["Series1"].MarkerColor = Color.Red;       //标记点中心颜色
                this.chart1.Series["Series1"].MarkerSize = 5;                 //标记点大小
                this.chart1.Series["Series1"].MarkerStyle = MarkerStyle.Circle;  //标记点类型
                conn.Close();

     

    更多相关内容
  • C# 生成图表源码,生成常用的圆饼图/柱形图的控件
  • c# chart控件实时显示曲线

    热门讨论 2017-11-06 11:25:52
    c# 随机生成数值,在chart控件上实时显示,将随机生成数换成需要的数即可
  • C#chart控件

    2011-10-10 21:05:59
    c# 完美地chart控件源码,很好很实用,很适合图形开发者。功能强大。
  • C# chart控件

    2017-05-20 16:09:17
    C# chart控件
  • 在个一个chart控件内画出多条曲线,并分别设置属性
  • C# Chart控件

    2020-06-29 12:06:30
    Chart 画柱形图,环形图,折线图 chart图形显示 chart1.Series[Prod].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Doughnut;//环形图 chart1.Series[Prod].ChartType = System....

    Chart 画柱形图,环形图,折线图

    chart图形显示

    chart1.Series[Prod].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Doughnut;//环形图
    chart1.Series[Prod].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;//柱形图
     chart1.Series[Prod].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;//线段          
    

    chart 属性
    是否显示双Y轴

    chart1.ChartAreas[0].AxisY2.Enabled = AxisEnabled.True;//启用Y2
    this.chart1.ChartAreas[0].AxisY2.Maximum = 100;//设置Y2最大值
    this.chart1.ChartAreas[0].AxisY2.Title = Mes.Core.Utility.StrUtil.Translate(Ytitle); 
    this.chart1.Series[Prod].YAxisType = AxisType.Secondary;//将series的值与Y2联系
    

    设置坐标轴刻度字体大小

    chart1.ChartAreas[0].AxisY.TitleFont = new Font("宋体", 8F);//坐标轴标题字体大小
    chart1.ChartAreas[0].AxisX.TitleFont = new Font("宋体", 8F);
    chart1.ChartAreas[0].AxisY2.TitleFont = new Font("宋体", 8F);
    chart1.ChartAreas[0].AxisX.LabelStyle.Font = new Font("宋体", 8F);//坐标轴刻度字体大小
    chart1.ChartAreas[0].AxisY.LabelStyle.Font = new Font("宋体", 8F);
    chart1.ChartAreas[0].AxisY2.LabelStyle.Font = new Font("宋体", 8F);
    

    设置Chart标题

     public void SetChartTitle(string Title)
            {
                this.chart1.Titles.Add(Title);        
            }
    

    取消X/Y辅助线

     this.chart1.ChartAreas[0].AxisY2.MajorGrid.Enabled = false;
                this.chart1.ChartAreas[0].AxisY.MajorGrid.Enabled = false;
                this.chart1.ChartAreas[0].AxisX2.MajorGrid.Enabled = false;
                this.chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false;
    

    设置X/Y名称

      public void SetChartName(string XTitle, string Ytitle)
            {
                this.chart1.ChartAreas[0].AxisX.Title = Mes.Core.Utility.StrUtil.Translate(XTitle);
                this.chart1.ChartAreas[0].AxisY.Title = Mes.Core.Utility.StrUtil.Translate(Ytitle);
            }
    
    展开全文
  • C#chart控件游标跟随鼠标移动

    热门讨论 2014-01-15 13:48:19
    C#chart控件游标CursorX跟随鼠标移动的例子。
  • C#chart控件动态显示

    2018-11-22 14:04:38
    C# 自带chart控件实现动态连续绘图,支持鼠标选中区域放大和缩小,点数过多时自动显示滚动条,图像显示滚动条的最右边及最新图像。
  • C# Chart 控件使用笔记

    2021-07-22 16:21:25
    } 4、控件调用: public Dictionary> dicSerieValue; foreach (string id in stationID) { ucChart ucchart = new ucChart(); flpanel1.Controls.Add(ucchart); ucchart.initChart(id + "标题", "", "", seriesName...

     Winform 实现如图片所示画面;

    1、鼠标悬停显示:GetToolTipText 事件写个方法

     if (e.HitTestResult.ChartElementType == ChartElementType.DataPoint)
                {
                    int i = e.HitTestResult.PointIndex;

    //分别显示x轴和y轴的数值,其中{1:F3},表示显示的是float类型,精确到小数点后3位。 
                    DataPoint dp = e.HitTestResult.Series.Points[i];

                    string r = "时段:"+dp.XValue.ToString()+"\r\n";

     //鼠标坐标
                    Point formPoint = this.PointToClient(Control.MousePosition);
                    int x = formPoint.X - 30;
                    int y = formPoint.Y - 100;
                    toolTip1.Show(r,this,x,y);//显示框

                    }

    2、刻度线显示:

                area.AxisY.MajorGrid.LineColor = Color.FromArgb(235, 235, 235);
                area.AxisY.MajorTickMark.LineColor = Color.Transparent;

    3、UserControl 初始化:

            public ChartArea area;
            public Title title;
            public Dictionary<string, Series> dicSeries;
            public Dictionary<string, Legend> dicLegend;

     public void initChart(string titleName, string titleX, string titleY, List<string> seriesName, double AxisXInterval = 10, double AxisXMax = 200, double AxisXMin = 0, double AxisYInterval = 10, double AxisYMax = 200, double AxisYMin = 0, float TitleSize = 18, bool isSetAxis = true)
            {
                IAsyncResult iar = this.BeginInvoke(new Action(() =>
                {
                    chartValue.ChartAreas.Clear();
                    chartValue.Titles.Clear();
                    chartValue.Series.Clear();
                    chartValue.Legends.Clear();
                    ClsChart(titleName, titleX, titleY, seriesName, AxisXInterval: AxisXInterval, AxisXMax: AxisXMax, AxisXMin: AxisXMin, AxisYInterval: AxisYInterval, AxisYMax: AxisYMax, AxisYMin: AxisYMin, TitleSize: TitleSize, isSetAxis: isSetAxis);
                }));

                this.BeginInvoke(new Action(() =>
                {
                    chartValue.ChartAreas.Add(area);
                    chartValue.Titles.Add(title);
                    for (int index = 0; index < seriesName.Count; index++)
                    {
                        chartValue.Series.Add(dicSeries[seriesName[index]]);
                        chartValue.Legends.Add(dicLegend[seriesName[index]]);
                    }
                    for (int i = 0; i < chartValue.Legends.Count; i++)
                    {
                        chartValue.Legends[i].Docking = System.Windows.Forms.DataVisualization.Charting.Docking.Top;
                        chartValue.Legends[i].Alignment = StringAlignment.Center;
                    }
                }));
            }

     public void bindData(string seriesName, List<int> lstValueX, List<int> lstValueY)
            {
                this.BeginInvoke(new Action(() => {
                    BindData(seriesName, lstValueX, lstValueY);
                    this.Refresh();
                }));

            }

            public void BindData(string seriesName, List<int> lstValueX, List<int> lstValueY)
            {
                dicSeries[seriesName].Points.DataBindXY(lstValueX, lstValueY);
            }

    4、控件调用:

     public Dictionary<string, List<int>> dicSerieValue;

     foreach (string id in stationID) {

                    ucChart ucchart = new ucChart();
                    flpanel1.Controls.Add(ucchart);
                    ucchart.initChart(id + "标题", "", "", seriesName, AxisXMin: -1, AxisXMax: 24, AxisYMin: 0, AxisYMax: 30000, AxisYInterval: 3000);
                    dicSerieValue.Clear();
                    for (int i = 0; i < seriesName.Count; i++)
                    {
                        DataRow[] dr = dt.Select("level='" + seriesName[i] + "' AND STATIONID='"+ id + "'");
                        YValueOK = new int[24];
                        foreach (DataRow drr in dr)
                        {
                            string bb = drr[12].ToString();
                            DateTime kk = Convert.ToDateTime(drr[12].ToString());
                            int iHourIndex = kk.Hour;
                            YValueOK[iHourIndex] += int.Parse(drr[7].ToString());

                        }
                        dicSerieValue.Add(seriesName[i], YValueOK.ToList<int>());

                    }
                    foreach (KeyValuePair<string, List<int>> kvp in dicSerieValue)
                    {
                        ucchart.bindData(kvp.Key, xValue1.ToList<int>(), kvp.Value);
                    }
                }

    5、.csv文件读取方式:

    string[] lines = File.ReadAllLines(txtResultFile.Text);

    foreach (string line in lines)
                    {
                        aryLine = line.Split(',');
                        if (IsFirst == true)
                        {//表头 

     DataColumn dc = new DataColumn(aryLine[i]);
                                dt.Columns.Add(dc);

                       }else{

    DataRow dr = dt.NewRow();

    }

    6、文本框选文件:

    OpenFileDialog fileDialog = new OpenFileDialog();
                //限定扩展
                fileDialog.Multiselect = true;
                fileDialog.Title = "请选择文件";
                if (fileDialog.ShowDialog() == DialogResult.OK)
                {
                    txtResultFile.Text = fileDialog.FileName;
                }

    以上是学习笔记,如有侵权,请联系作者,谢谢。

    展开全文
  • C# chart控件使用方法

    千次阅读 2020-08-24 11:31:03
    控件位置:数据–chart图标 出现了一个问题: System.ArrayTypeMismatchException:“不能将源数组类型分配给目标数组类型。” 我在Copyto函数中试图将double类型的数组拷贝给float类型的数组,这样是不允许的,数组...

    添加命令空间

    using System.Windows.Forms.DataVisualization.Charting;

    控件位置:数据–chart图标
    在这里插入图片描述

    出现了一个问题:
    System.ArrayTypeMismatchException:“不能将源数组类型分配给目标数组类型。”

    我在Copyto函数中试图将double类型的数组拷贝给float类型的数组,这样是不允许的,数组类型要统一。

    设置坐标显示为:小数点后三位

    参考链接为:
    https://blog.csdn.net/quanlver/article/details/83035998
    位置为: 控件 —chart Areas 集合中
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    修改控件默认显示类型:

    默认为柱状图,按照下图所示,修改为fastline类型,折线图。
    位置:属性–series—图标 charttype修改即可。
    在这里插入图片描述

    修改Y轴的最大最小显示范围

    如果显示范围变化了,用下面的时候就比较麻烦,每次都要修改。
    chartArea.AxisY.Minimum = -0.1; chartArea.AxisY.Maximum = 0.7;

    巧妙方法:最大值
    chartArea.AxisY.Maximum = System.Double.NaN;

    同理,对Y轴最小,X轴最大最小都可以使用System.Double.NaN 简单

    去掉图例legend:

    在这里插入图片描述
    按照上图,1-4就能够实现5 图例消失。

    控件鼠标悬停时,显示具体的数据信息

    使用serial集合中 tooltips这个信息
    在这里插入图片描述

    使用StripLine添加两条线: 边界值线条

    在这里插入图片描述
    参考连接:https://www.cnblogs.com/akagreen/p/10335091.html

    方向设置:stripMax.TextOrientation = TextOrientation.Horizontal;
    就改为水平显示了

    实时修改Y轴坐标轴范围

    当参数不变时,Y轴跳动不大,但当调整参数时,坐标轴就改变了,如果使用数据最大值进行设置时,由于最大值会发生变化,设置的话也会造成坐标轴跳动。按照下面就会好很多。

    //dMax  最大值
    double dDer = Math.Ceiling(m_dMax) - m_dMax;
                    double dY = 0;
                    if(dDer < 0.25)
                    {
                        dY = Math.Ceiling(m_dMax);
                    }
                    else if (dDer < 0.5)
                    {
                        dY = Math.Ceiling(m_dMax) - 0.25;
                    }
                    else if (dDer < 0.75)
                    {
                        dY = Math.Ceiling(m_dMax) - 0.5;
                    }
                    else
                    {
                        dY = Math.Ceiling(m_dMax) - 0.7;
                    }
                    chartArea.AxisY.Maximum = dY;

    读txt中数据时,根据下面的例子进行分割

    我觉得分割字符串,比我的找到,的方法,要好一点呢

    https://blog.csdn.net/Hi_niuniu/article/details/104369554?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param

    一个比较好的网址,里面介绍winform控件,还有例子: https://docs.devexpress.com/WindowsForms/17530/controls-and-libraries/spreadsheet/examples/charts/how-to-show-or-hide-the-chart-legend
    (来自https://blog.csdn.net/zhouyingge1104/article/details/105504889)
    例子1:https://blog.csdn.net/quanlver/article/details/83035998
    例子2:https://blog.csdn.net/qq_27825451/article/details/81305387
    例子3:https://www.cnblogs.com/arxive/p/5861960.html
    例子4:https://blog.csdn.net/xianfajushi/article/details/7493697?reload

    例子5:https://recomm.cnblogs.com/blogpost/8259610
    关于chart控件的一些知识点总结

    chart的属性:https://www.cnblogs.com/arxive/p/5861960.html
    chart的属性:inghttps://blog.csdn.net/weixin_41835916/article/details/83789061?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allfirst_rank_v2~rank_v25-10-83789061.nonecase&utm_term=c#chart设置mark点

    例子:https://blog.csdn.net/tr1912/article/details/72625034?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param

    展开全文
  • 股票K线图、饼状图、柱状图、折线图,各种开源制表图形源代码
  • chart_C#chart控件_C#_C#Chart_图表.zip
  • 使用C#的winform读取串口,并用chart控件显示实时数据折线图
  • vs2017下开发的 C# chart 控件浏览数据,带滚动条,可鼠标拖动放大,缩小浏览数据,同时chart控件下对应着数据表进行数据显示。
  • c#chart控件代码详解

    2020-06-08 09:35:28
    c#chart控件各种样式代码集锦 图表样式 Chart1.BackGradientStyle= = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom;//指定图表元素的渐变样式(中心向外,从左到右,从上到下等等) ...
  • c#chart控件、垂线测量(跟着鼠标移动) ID:4385662279985574大周周ld
  • C# chart控件绘制曲线

    2021-01-13 22:30:26
    在.NET中以前经常用GDI去绘制,虽然效果也不错,自从.NET 4.0开始,专门为绘制图表而生的Chart控件出现了,有了它,就可以轻松的绘制你所需要的曲线图、柱状图什么的了。using System;using System.Collections....
  • 在使用Chart控件绘制波形图的时候,我从文档中读取了两万个点,Points.AddXY添加上去,然后进行画图。数据量小的时候不会卡,数据量大了,清除和填充都会很慢,像死机了一样其他的什么都操作不了,画一次图就要等两...
  • C#链接oracle,查询数据,并将查询的数据分两条折线图显示在Chart控件上,X轴为时间轴,Y轴为数据轴。希望可以帮到需要的同学,不懂的地方可以私信我。
  • chart_C#chart控件_C#_C#Chart_图表_源码.rar.rar
  • C# 柱状图、折线图、饼图源码(chart控件的简单示例).rar
  • C#chart控件初始化

    千次阅读 多人点赞 2020-06-18 21:38:38
    C#chart控件初始化 C#中调用chart控件以时间为横轴进行初始化的一些知识 // An highlighted block this.chart1.ChartAreas.Clear(); ChartArea chartArea1 = new ChartArea("C1"); this.chart1.ChartAreas.Add...
  • V#chart控件,可以用于在窗体程序中画柱状图,条形图,各个属性大家可以在网上查询, mschart安装包,里面包含了dotnetfx35setup.exe,MSChart.exe,MSChart_VisualStudioAddOn.exe,MSChartLP_chs.exe 四个安装文件
  • 展示一个小Demo 在窗口中读取txt文件数据,并使用chart控件绘制曲线。 首先,在空白的窗体上拖入一个按钮,命名为打开,执行打开文件职能;一个文本框,用来显示文件的路径;再拖入一个chart控件。 在chart控件中...
  • 最近一致在开发能源平台,平台中很多能耗数据都是通过使用微软的chart控件进行图形呈现的。考虑到要给用户更为直观的呈现效果,需要对原有控件的功能进行扩展。微软chart控件没有第三方样chart样式炫酷,但是胜在可...
  • WPF编程的一个控件库,主要用于绘图,如地图。包括画坐标图、坐标设置、坐标转换、绘制常见形状(如矩形、圆等)。
  • C# chart控件中游标随着鼠标移动

    千次阅读 2020-05-14 12:03:22
    chart控件中游标如何随着移动? 思路很简单,只需要在鼠标进入chart控件时,获取鼠标的位置,然后将数值赋给游标的position属性。 具体实现方法如下: 选中chart控件、F4进入属性窗口,在事件中创建MouseMove。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,274
精华内容 2,109
关键字:

c#chart控件

c# 订阅
友情链接: 老网站khkjgc源码.rar