iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#根据excel数据绘制坐标图的方法
  • 227
分享到

C#根据excel数据绘制坐标图的方法

2024-04-02 19:04:59 227人浏览 独家记忆
摘要

本文实例为大家分享了C#根据excel数据绘制坐标图的具体代码,供大家参考,具体内容如下 效果如下图 界面 代码 using System; using System.Colle

本文实例为大家分享了C#根据excel数据绘制坐标图的具体代码,供大家参考,具体内容如下

效果如下图

界面

代码

using System;
using System.Collections;
using System.Collections.Generic;
using System.Drawing;
using System.Runtime.InteropServices;
using System.windows.FORMs;
using System.Windows.Forms.DataVisualization.Charting;

namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
        //x和y轴数据
        double[] x = new double[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
        double[] y = new double[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
        List<Double> xList = new List<Double>();
        List<Double> yList = new List<Double>();
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string fname = "";
            OpenFileDialog fdlg = new OpenFileDialog();
            fdlg.Title = "Excel File Dialog";
            fdlg.InitialDirectory = @"c:\";
            fdlg.Filter = "All files (*.*)|*.*|All files (*.*)|*.*";
            fdlg.FilterIndex = 2;
            fdlg.RestoreDirectory = true;
            if (fdlg.ShowDialog() == DialogResult.OK)
            {
                fname = fdlg.FileName;
            }


            Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(fname);
            Microsoft.Office.Interop.Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
            Microsoft.Office.Interop.Excel.Range xlRange = xlWorksheet.UsedRange;

            int rowCount = xlRange.Rows.Count;
            int colCount = xlRange.Columns.Count;

            for (int i = 1; i <= rowCount; i++)
            {
                double px = System.Convert.ToDouble(xlRange.Cells[i, 1].Value2.ToString());
                double py = System.Convert.ToDouble(xlRange.Cells[i, 2].Value2.ToString());
                Console.Out.WriteLine("第" + i + "行 :" + px + "," + py);
                xList.Add(px);
                yList.Add(py);
                //for (int j = 1; j <= colCount; j++)
                //{
                //write the value to the Grid  
                //if (xlRange.Cells[i, j] != null && xlRange.Cells[i, j].Value2 != null)
                //{
                //xList.Add(xlRange.Cells[i, j]);

                // Console.WriteLine(xlRange.Cells[i, j].Value2.ToString());
                //add useful things here! 
                // }
                //}
            }
            chart1.Series[0].Points.DataBindXY(xList, yList);


            //cleanup  
            GC.Collect();
            GC.WaitForPendingFinalizers();

            //rule of thumb for releasing com objects:  
            //  never use two dots, all COM objects must be referenced and released individually  
            //  ex: [somthing].[something].[something] is bad  

            //release com objects to fully kill excel process from running in the background  
            Marshal.ReleaseComObject(xlRange);
            Marshal.ReleaseComObject(xlWorksheet);

            //close and release  
            xlWorkbook.Close();
            Marshal.ReleaseComObject(xlWorkbook);

            //quit and release  
            xlApp.Quit();
            Marshal.ReleaseComObject(xlApp);


        }
        //Graphics g = this.CreateGraphics();
        //Pen pen = new Pen(Brushes.Red, 1);
        //g.DrawLine(pen, new Point(30, 50), new Point(250, 250));

        private void Form1_Load(object sender, EventArgs e)
        {
            //控件chart背景色
            //chart1.BackColor = Color.Transparent;//Color.Transparent系统定义的颜色
            //chart1.BackColor = Color.White;
            //图表标题,
            chart1.Titles.Add("测试数据"); //添加title到titleCollection集合的末尾
            chart1.Titles[0].ForeColor = Color.DarkBlue;//设置title的文本颜色
            chart1.Titles[0].Font = new Font("微软雅黑", 15f, FontStyle.Regular);//设置title的字体
            chart1.Titles[0].Alignment = ContentAlignment.TopCenter;//设置title的对齐方式

            //图表区chartAreas
            chart1.ChartAreas[0].BackColor = Color.White;//chartAreas背景颜色
            chart1.ChartAreas[0].BorderColor = Color.Red;//chartAreas边框颜色
            chart1.ChartAreas[0].BackGradientStyle = GradientStyle.None;//chartAreas背景渐变,不使用


            //AxisX表示图表的主x轴; 
            chart1.ChartAreas[0].AxisX.LineColor = Color.Red; //线条颜色
            chart1.ChartAreas[0].AxisX.Interval = 0.5;//设置x轴的间隔
            chart1.ChartAreas[0].AxisX.Minimum = 0;
            chart1.ChartAreas[0].AxisX.Maximum = 25;//Y轴坐标固定,不会随绑定的数据而变

            chart1.ChartAreas[0].AxisX.LabelStyle.Interval = 1;//设置X轴标签间距,如果不设置默认为x轴的间隔
            chart1.ChartAreas[0].AxisX.IsLabelAutoFit = false;
            chart1.ChartAreas[0].AxisX.LabelStyle.Font = new Font("微软雅黑", 13f, FontStyle.Regular); //标签字体

            //设置x轴标题的字体样式和颜色
            chart1.ChartAreas[0].AxisX.Title = "圆周位置,mm";
            chart1.ChartAreas[0].AxisX.TitleFont = new Font("微软雅黑", 15f, FontStyle.Regular);// 标题字体
            chart1.ChartAreas[0].AxisX.TitleForeColor = Color.Blue; //轴标题颜色
            chart1.ChartAreas[0].AxisX.TextOrientation = TextOrientation.Horizontal;//轴标题文本方向
            chart1.ChartAreas[0].AxisX.TitleAlignment = StringAlignment.Far;//轴标题对齐方式
            //X轴网格线
            chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false; //启用网格刻度线,一排竖线
            //chart1.ChartAreas[0].AxisX.MajorGrid.LineColor = ColorTranslator.Fromhtml("#2c4c6d"); //线条颜色
            //chart1.ChartAreas[0].AxisX.MajorGrid.LineColor = Color.Yellow;

            //y轴
            chart1.ChartAreas[0].AxisY.LineColor = Color.Red; //线条颜色
            chart1.ChartAreas[0].AxisY.Interval = 0.05;//设置Y轴的间隔
            chart1.ChartAreas[0].AxisY.Minimum = 5;//Y轴坐标固定,不会随绑定的数据而变
            chart1.ChartAreas[0].AxisY.Maximum = 6.35;//Y轴坐标固定,不会随绑定的数据而变
            chart1.ChartAreas[0].AxisY.LabelStyle.Interval = 0.05;//设置X轴标签间距,如果不设置默认为x轴的间隔
            //Y坐标轴标题
            chart1.ChartAreas[0].AxisY.Title = "圆周半径,mm"; //轴标题
            chart1.ChartAreas[0].AxisY.TitleFont = new Font("微软雅黑", 15f, FontStyle.Regular); //标题字体
            chart1.ChartAreas[0].AxisY.TitleForeColor = Color.Blue; //轴标题颜色
            chart1.ChartAreas[0].AxisY.TextOrientation = TextOrientation.Rotated270; //标题文本方向
            chart1.ChartAreas[0].AxisY.TitleAlignment = StringAlignment.Far;
            //y轴标签样式
            chart1.ChartAreas[0].AxisY.LabelStyle.ForeColor = Color.Black; //标签颜色
            chart1.ChartAreas[0].AxisY.LabelStyle.Font = new Font("微软雅黑", 13f, FontStyle.Regular); //标签字体
            //Y轴网格线条
            chart1.ChartAreas[0].AxisY.MajorGrid.Enabled = false;//一排横线
            //chart1.ChartAreas[0].AxisY.MajorGrid.LineColor = Color.Yellow;

            //#VAL为y轴的值,#VALX为x轴数据
            //chart1.Series[0].Label = "hello";//数据点标签文本  
            //chart1.Series[0].Label = "#VAL";//数据点标签为其对于的y值
            //chart1.Series[0].LabelBackColor = Color.Blue; //数据点标签背景色
            //chart1.Series[0].LabelForeColor = Color.White; //数据点标签颜色
            //chart1.Series[0].Color = Color.Red; //数据点颜色,数据点之间曲线的颜色
            //chart1.Series[0].BorderWidth = 3;//数据点边框宽度,曲线的宽度
            //chart1.Series[0].ToolTip = "#VALX:#VAL";//鼠标移动到对应点显示数值 元素的工具提示
            chart1.Series[0].ChartType = SeriesChartType.Spline; //图表类型(折线) 绘制该序列的图表类型

            Legend legend = new Legend("波形显示");//初始化具有指定的图例名称
            legend.Title = "legendTitle"; //图例标题文本
            chart1.Series[0].LegendText = legend.Name; //图例中项的文本
            chart1.Legends.Add(legend);
            chart1.Legends[0].Position.Auto = false; //图例矩形位置 - 元素自动定位标志

            //绑定数据
            //数据绑定到指定数据源的第一列的x值和y值的集合的数据点
            chart1.Series[0].Color = Color.Black;

            chart1.Series[0].Points.DataBindXY(x, y);
        }
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C#根据excel数据绘制坐标图的方法

本文链接: https://www.lsjlt.com/news/139474.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#根据excel数据绘制坐标图的方法
    本文实例为大家分享了C#根据excel数据绘制坐标图的具体代码,供大家参考,具体内容如下 效果如下图 界面 代码 using System; using System.Colle...
    99+
    2024-04-02
  • C#怎么根据excel数据绘制坐标图
    这篇文章主要介绍了C#怎么根据excel数据绘制坐标图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#怎么根据excel数据绘制坐标图文章都会有所收获,下面我们一起来看看吧。效果如下图界面代码using&nb...
    99+
    2023-06-29
  • Python如何根据站点列表绘制站坐标全球分布图
    本篇内容主要讲解“Python如何根据站点列表绘制站坐标全球分布图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何根据站点列表绘制站坐标全球分布图”吧!根据站点列表绘制站坐标全球分...
    99+
    2023-06-22
  • Python根据站点列表绘制站坐标全球分布图的示例
    根据站点列表绘制站坐标全球分布图 输入:站点列表文件、SNX全球站点坐标文件 站点列表文件示例(可手动创建): SNX全球站点坐标文件下载地址: ftp://igs.gnsswhu...
    99+
    2024-04-02
  • excel两列数据绘制单折线图表
    目录 1. 折线图(二维)2. x轴y轴散点图(可操作横轴) 有关excel的两列数据绘制出一张折线图或柱状图的方法。要求两列数据分别成为图表的横坐标和纵坐标。 1. 折线图(二维)...
    99+
    2023-08-31
    python 开发语言
  • python中Excel图表的绘制方法
    本篇内容主要讲解“python中Excel图表的绘制方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中Excel图表的绘制方法”吧!1、饼图将数据画成圆形切片,每个切片代表整个百分...
    99+
    2023-06-20
  • Matlab绘制酷炫坐标区域的方法详解
    目录使用方式其他炫酷的背景注意事项代码展示及mat文件获取写了一个能让坐标区域变得很炫酷的修饰函数: 同时想到了一个很有意思的把函数存储进mat文件的方法,方法就不细讲了,大家自行点...
    99+
    2024-04-02
  • Python绘制数据动态图的方法详解
    目录安装玩起来动态地图动态水平bar动态垂直bar动态折线动态累积bar动态散点图动态气泡图多子图一起动数据动态图怎么做,效果图, 多子图联动竞赛图 安装 pip install ...
    99+
    2024-04-02
  • R语言-绘制双坐标图直方图与折线的结合方式
    看代码吧~ par(mar = c(5, 5, 3, 4)+0.1) #似乎是设置图片位置 bar<-barplot(gu[1:22,6],xlim=c(0.5,26),y...
    99+
    2024-04-02
  • python根据数据画图的方法是什么
    在Python中,有多种方法可以根据数据进行绘图。以下是其中几种常用的方法:1. Matplotlib:Matplotlib是一个功...
    99+
    2023-08-17
    python
  • 如何根据自有数据拟合绘制3D曲面图-Python matplotlib
    目录 问题提出 绘制简单曲面图 使用自有数据拟合绘制 问题提出 在网上找了很久怎么用自己有的dataframe数据,拟合出3d的曲面图,大部分人都是根据已知函数去绘制,有几篇进行拟合绘制,但是还是根据特定函数生成的数据,没有一篇直接用d...
    99+
    2023-09-25
    python matplotlib 3d
  • Python读取excel文件中的数据,绘制折线图及散点图
    目录一、导包二、绘制简单折线三、pandas操作Excel的行列四、pandas处理Excel数据成为字典五、绘制简单折线图六、绘制简单散点图一、导包 import pandas a...
    99+
    2024-04-02
  • java根据数据生成图片的方法是什么
    在Java中,可以使用Java 2D图形库来生成图片。以下是生成图片的一种常见方法:1. 创建一个BufferedImage对象,该...
    99+
    2023-09-17
    java
  • 使用idea的database模块绘制数据库er图的方法
    在idea中使用database连接数据库 建立测试库表: 建立测试库test_user: test_user库创建过程如下 建立测试表: 建立表user、表user_ext...
    99+
    2024-04-02
  • 【Pyhton+Excel】利用Python把Excel的数据导入并且绘图
    首先使用pandas库中的read_excel()函数从Excel文件中读取数据,并将其存储在data变量中。然后,我们从data变量中提取需要绘制的列,并将其分别存储在x和y变量中。最后,使用mat...
    99+
    2023-09-03
    python excel 开发语言
  • vue使用高德地图根据坐标定位点的代码怎么写
    今天小编给大家分享一下vue使用高德地图根据坐标定位点的代码怎么写的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。代码如下&l...
    99+
    2023-07-04
  • C#绘制柱状图和折线图的方法
    本文实例为大家分享了C#绘制柱状图和折线图的具体代码,供大家参考,具体内容如下 运行效果如下图: 设计上面的柱状图和折线图其实并没有什么难度,主要是各个坐标的计算,完全是精细活。...
    99+
    2024-04-02
  • C#绘制饼状图和柱状图的方法
    本文实例为大家分享了C#绘制饼状图和柱状图的具体代码,供大家参考,具体内容如下 #代码如下: using System; using System.Collections; us...
    99+
    2024-04-02
  • Python从Excel读取数据并使用Matplotlib绘制成二维图像
    目录知识点测试 xlrd 扩展包绘制图像 V1绘制图像 V2绘制图像 V3绘制图像 V4绘制图像 V5实验总结知识点 使用 xlrd 扩展包读取 Excel 数据使用 Matplot...
    99+
    2023-02-10
    Python读取Excel数据 Python读取Excel数据绘制图像 Python读取Excel绘制二维图像
  • Java Excel数据导入数据库的方法
    目录1、根据业务需求设计数据库表2、根据数据库表设计一个Excel模板3、环境准备4、通过插件生成表对应的实体类5、自定义编写工具类6、编写具体业务逻辑Service7、在dao层对...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作