110,533
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;
using System.IO;
namespace testchart
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
const int DATALENGH = 3648;
double[] Scale_param = new double[DATALENGH];//系数
double[] Scale_Xparam = new double[DATALENGH];//系数对应的X轴
private void Form1_Load(object sender, EventArgs e)
{
ReadData(@"E:/wokspace//data/bk_signal.txt", DATALENGH, out Scale_Xparam, out Scale_param);
InitCharts();
//chart1.Series[0].Points.Clear();
chart1.Titles[0].Text = "原始信号";
double[] dx = new double[8] {4,2,5,1,6,2,7,3};
for (int i = 0; i < 8; i ++)
{
chart1.Series[0].Points.AddXY(i, dx[i]);
}
}
private void InitCharts()
{
//主图
Series series = chart1.Series[0];
// 画样条曲线(Spline)
series.ChartType = SeriesChartType.FastLine;
// 设置显示范围
ChartArea chartArea = chart1.ChartAreas[0];
chartArea.AxisX.Minimum = 0;//X轴
chartArea.AxisX.Maximum = 10;
chartArea.AxisY.Minimum = -0.1;//Y轴
chartArea.AxisY.Maximum = 10;//0.7
chartArea.AxisX.Title = "波长/nm";
chartArea.AxisY.Title = "能量";
//设置标题
chart1.Titles.Add("光谱波形");
chart1.Titles[0].Text = "光谱波形";
chart1.Series[0].MarkerStyle = MarkerStyle.Circle;
//this.chart1.Series[0].Points.Clear();
//
}
public void ReadData(string strPath, int nLen, out double[] dXTemp, out double[] dTemp)
{
dXTemp = new double[nLen];
dTemp = new double[nLen];
if (File.Exists(strPath))
{
string strCon = "";
StreamReader reader = new StreamReader(strPath);
int i = 0;
while (!reader.EndOfStream)
{
int nId = -1;
strCon = reader.ReadLine();
nId = strCon.IndexOf(',');//存储形式为x,y
if (nId >= 0)
{
string strBKData = strCon.Substring(nId + 1);
dTemp[i] = Convert.ToDouble(strBKData);
//X轴数据
string strXData = strCon.Substring(0, nId);
dXTemp[i] = Convert.ToDouble(strXData);
i++;
}
}
reader.Close();
reader.Dispose();
reader = null;
}
}
private void button1_Click(object sender, EventArgs e)
{
chart1.Series[0].BorderWidth = 2; //线条粗细
//chart1.Series[0].MarkerBorderColor = Color.Red; //标记点边框颜色
//chart1.Series[0].MarkerBorderWidth = 3; //标记点边框大小
//chart1.Series[0].MarkerColor = Color.Red; //标记点中心颜色
//chart1.Series[0].MarkerSize = 5; //标记点大小
//chart1.Series[0].MarkerStep = 1;
//chart1.Series[0].MarkerStyle = MarkerStyle.Circle; //标记点类型
chart1.Series[0].Points[3].MarkerBorderColor = Color.Red; //标记点边框颜色
chart1.Series[0].Points[3].MarkerBorderWidth = 3; //标记点边框大小
chart1.Series[0].Points[3].MarkerColor = Color.Red; //标记点中心颜色
chart1.Series[0].Points[3].MarkerSize = 5;
chart1.Series[0].Points[3].MarkerStyle = MarkerStyle.Circle; //标记点类型
}
}