Está en la página 1de 3

Ing.

Segundo Gutirrez-Miguel

Chart

Segum

Teora de control II

Ing. Segundo Gutirrez-Miguel

ARCHIVO: Form.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting; // Para Chart
namespace proyWinGraficos00
{
public partial class Form1 : Form
{
private Series series2;
private double[] x, y1, y2;
public Form1()
{
InitializeComponent();
series2 = new Series();
series2.Name = "Series2";
}
private void generarDatos()
{
x = new double[10];
y1 = new double[10];
y2 = new double[10];
double dx = 0.0;
for (int i = 0; i < 10; i++)
{
x[i] = dx;
y1[i] = Math.Round(0.05 * Math.Exp(dx),3);
y2[i] = Math.Round(Math.Sin(dx),3);
dx += 0.4;
}
}
private void actualizarGrafica()
{
// Establecer el tipo de grafica para las series
chart1.Series["Series1"].ChartType =
(SeriesChartType)Enum.Parse(typeof(SeriesChartType), cboTipo.Text, true);
chart1.Series["Series2"].ChartType =
(SeriesChartType)Enum.Parse(typeof(SeriesChartType), cboTipo.Text, true);
// Establecer posicin de las leyendas
if (cboPosicionLeyenda.Text != "")
{
chart1.Legends[0].Docking = (Docking)Enum.Parse(typeof(Docking),
cboPosicionLeyenda.Text, true);
}
// Establecer las etiquetas a los puntos
if (cboEtiqueta.Text != "Ninguna")
{
chart1.Series["Series1"].IsValueShownAsLabel = true;
chart1.Series["Series2"].IsValueShownAsLabel = true;

Chart

Segum

Teora de control II

Ing. Segundo Gutirrez-Miguel

chart1.Series["Series1"].MarkerSize = 8;
chart1.Series["Series2"].MarkerSize = 8;
chart1.Series["Series1"].MarkerStyle = MarkerStyle.Circle;
chart1.Series["Series2"].MarkerStyle = MarkerStyle.Diamond;
if (cboEtiqueta.Text != "Auto")
{
chart1.Series["Series1"]["LabelStyle"] = cboEtiqueta.Text;
chart1.Series["Series2"]["LabelStyle"] = cboEtiqueta.Text;
}
}
else
{
chart1.Series["Series1"].IsValueShownAsLabel = false;
chart1.Series["Series2"].IsValueShownAsLabel = false;
}
// Establecer margen al eje X
chart1.ChartAreas["ChartArea1"].AxisX.IsMarginVisible = chkMargenX.Checked;
}
private void Form1_Load(object sender, EventArgs e)
{
// Agregar la series2 al grfico
this.chart1.Series.Add(series2);
chart1.Series["Series2"].LegendText = "Senoidal";
chart1.Series["Series2"].Color = Color.Black; // Color de serie
chart1.Series["Series2"].BorderWidth = 3;
series2.XValueType =
System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double;
series2.YValueType =
System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double;
generarDatos();
chart1.Series["Series1"].Points.DataBindXY(x, y1);
chart1.Series["Series2"].Points.DataBindXY(x, y2);
cboTipo.SelectedIndex = 0;
cboEtiqueta.SelectedIndex = 0;
cboPosicionLeyenda.SelectedIndex = 2;
}
private void chkMargenX_CheckedChanged(object sender, EventArgs e)
{
actualizarGrafica();
}
private void cboTipo_SelectedIndexChanged(object sender, EventArgs e)
{
actualizarGrafica();
}
private void cboEtiqueta_SelectedIndexChanged(object sender, EventArgs e)
{
actualizarGrafica();
}
private void cboPosicionLeyenda_SelectedIndexChanged(object sender, EventArgs e)
{
actualizarGrafica();
}
}
}

Chart

Segum

Teora de control II

También podría gustarte