C# Establecer el eje X del gráfico como línea de tiempo

¡Trabajar juntos para crear y crecer juntos! Este es el día 25 de mi participación en el "Nuggets Daily New Plan · August Update Challenge", haz clic para ver los detalles del evento

Prefacio:

Establecer el eje X de Chart como el eje de tiempo es un problema que no es fácil de decir, difícil o difícil. Después de que lo haya usado, se sentirá muy fácil. Si no lo ha usado, será más difícil, así que esto es muy Vale la pena aprenderlo. No he hablado de esto en otras comunidades, así que quiero compartirlo. En caso de que lo olvide, también puedo leer este artículo para revisarlo. Aprendamos juntos, aunque esto El artículo es relativamente Es simple y vale la pena aprenderlo. No es fácil de crear. Dale me gusta, sigue, comenta y recopila, ¡gracias a todos! ! !

¿Estudiaste?.webp

diseño de interfaz

Para el diseño de la interfaz, use el temporizador del temporizador para generar números aleatorios por segundo y agregarlos en el gráfico, de modo que podamos agregar valores cada segundo y formar un movimiento de curva. El botón de inicio es el control del temporizador, y luego copiamos el código a nuestro La configuración del gráfico de líneas para el gráfico en el proyecto puede realizar el eje de tiempo como el eje X. Nota: Aunque tenemos el método AddXY, si no establece el eje X, el tiempo que agregue será problemático. Además, si queremos agregar nuestro propio tiempo, debemos realizar la operación .ToOADate() en el tiempo Can.

imagen.png

imagen.png

Mostrar resultados

La visualización del efecto es la siguiente imagen. La inferior es que la barra de desplazamiento del sistema está habilitada. Se ve un poco feo. Siga el siguiente artículo del blogger y le pedirá que lo cambie. jajaja

imagen.png

imagen.png

Si la hora del sistema no agrega su hora, es posible que no se agregue la hora o que se produzca un error. Si desea agregar su propia hora, debe realizar la operación ".ToOADate()" en esta hora, datetime. AddSeconds(1) esto directamente No necesita agregar un segundo, es su momento. ¡Asegúrese de agregar .ToOADate()! ! ! !

lógica de código

Copie la configuración del gráfico de líneas del gráfico y tengo notas para uso directo. Nota: hay una declaración chart1.ChartAreas[0].AxisX.ScaleView.Scroll(System.Windows.Forms.DataVisualization.Charting.ScrollType.Last) se trata de la vista de la barra de desplazamiento, lo que significa que nuestros datos pueden avanzar y podemos verlos para lograr el desplazamiento de datos, pero se recomienda usarlo con my if para evitar errores. El código es el siguiente, puede copiarlo directamente .

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;
​
namespace IC00test823
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
​
        private void Form1_Load(object sender, EventArgs e)
        {
            chart1.ChartAreas["ChartArea1"].AxisX.ScaleView.Size = 10;//x坐标显示的个数------------控制这个数量的大小进行缩放     
            chart1.ChartAreas[0].AxisX.LabelStyle.IntervalType = DateTimeIntervalType.Seconds;//设置x轴间隔值单位:秒
            chart1.ChartAreas[0].AxisX.LabelStyle.Interval = 1;//设置X轴的值的间隔大小
            chart1.ChartAreas[0].AxisX.LabelStyle.IsEndLabelVisible = false;//是否在轴末尾显示标记
            chart1.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm:ss";//设置X轴的数据样式
            chart1.ChartAreas[0].AxisX.ScaleView.MinSizeType = DateTimeIntervalType.Seconds;
            chart1.ChartAreas[0].AxisX.ScaleView.SizeType = DateTimeIntervalType.Seconds; //度量单位
            chart1.ChartAreas[0].AxisX.ScaleView.SmallScrollMinSize = 1;
            chart1.ChartAreas[0].AxisX.ScaleView.SmallScrollMinSizeType = DateTimeIntervalType.Seconds;
            chart1.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Seconds;
            chart1.ChartAreas[0].AxisX.Enabled = AxisEnabled.True;//将X轴始终展示
            chart1.ChartAreas[0].AxisY.Enabled = AxisEnabled.True;//将Y轴始终展示
            chart1.ChartAreas[0].AxisX.MajorGrid.LineColor = Color.Gray;//设置X轴网格线颜色
            chart1.ChartAreas[0].AxisY.MajorGrid.LineColor = Color.Gray;//设置Y轴网格线颜色
            chart1.ChartAreas[0].AxisX.ScrollBar.Enabled = false;//关闭系统的滚动条,也可以不关闭,就可以滑动
            chart1.Series[0].BorderWidth = 2;//线宽
        }
​
        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Enabled = !timer1.Enabled;
        }
​
        private void timer1_Tick(object sender, EventArgs e)
        {
            Random random = new Random();
            chart1.Series[0].Points.AddXY(DateTime.Now,random.Next(1,20));
            if(chart1.ChartAreas[0].AxisX.ScaleView.Size>0)
            {
                chart1.ChartAreas[0].AxisX.ScaleView.Scroll(System.Windows.Forms.DataVisualization.Charting.ScrollType.Last);
            }
        }
    }
}
​
​
复制代码

Resumir:

Aunque este artículo es muy simple, también podemos aprender algo. Hemos aprendido nuevos conocimientos y hemos hecho nuevos progresos en nuestra reserva de conocimientos y tecnología. La tecnología de C# es simple primero y luego difícil. Solo cuando crezcamos crecemos y luego progresamos. Debemos seguir aprendiendo y explorando, para que podamos tener la motivación para aprender y el deseo de aprender. No es fácil crear. ! ! !

haoping21111.gif

Supongo que te gusta

Origin juejin.im/post/7135810520640126990
Recomendado
Clasificación