Page 1 of 1

Otra pregunta... NO PERDER LOS VALORES DEL EJE DERECHO

Posted: Tue Feb 26, 2008 4:25 pm
by 15047158
Otra pregunta.. ya se que estoy hoy un poco pesado... lo siento de antemano.

Cuando tengo el grafico, le tengo dicho que pueda moverlo con el ratón de forma horizontal.. y lo muevo.. pero cuando la información esta por debajo o por encima la pierdo y no la veo en el grafico.. quisiera poder hacer que el eje fuera suviendo o bajando de valores automaticamente según los valores de los graficos, para tener siempre el grafico activo en la pantalla.

Gracias de antemano... y lo siento otra vez por estar hoy tan pesado.. pero es que sino mi programa de bolsa... no lo terminare en la vida.

Jordi

Posted: Wed Feb 27, 2008 10:26 am
by yeray
Hola Jordi,

No estamos seguros de entender perfectamente tu problema porque el eje izquierdo deberia ajustarse automáticamente para poder mostrar todos los valores de la serie. A no ser que lo hayas cambiado con un SetMinMax.

De todas formas, es posible que lo que estés buscando sea algo así:

Code: Select all

Private Sub TChart1_OnScroll()
Dim i, offset As Integer
Dim min, max As Double
  offset = 10
  min = TChart1.Series(0).YValues.Value(TChart1.Axis.Bottom.Minimum)
  max = min

  For i = TChart1.Axis.Bottom.Minimum To TChart1.Axis.Bottom.Maximum
    If TChart1.Series(0).YValues.Value(i) < min Then
      min = TChart1.Series(0).YValues.Value(i)
    End If

    If TChart1.Series(0).YValues.Value(i) > max Then
      max = TChart1.Series(0).YValues.Value(i)
    End If
  Next i

  TChart1.Axis.Left.SetMinMax min - offset, max + offset
  Caption = Str$(min) + Str(max)
End Sub
En éste ejemplo, por cada scroll, miro el valor minimo y maximo de la serie que se muestra (con el for) y le aplico el SetMinMax.
Espero que el ejemplo te sirva para solucionar tu problema. Sinó, intenta explicarlo mejor, por favor.

Salut!

No era eso

Posted: Wed Feb 27, 2008 11:59 am
by 15047158
A ver si me explico... yo tengo un grafico en la pantalla, al que le tengo puesto la cualidad de desplazamiento solo horizontal con el boton derecho.. cuando yo desplazo el grafico.. y los valores son mas pequeños.. nos los visualizo porque se quedan por debajo de los valores del eje que habia... yo lo que quiero es que los graficos vayan apareciendo en la pantalla con el desplazamiento sin perderlo y que el eje vaya poniendo los nuevos valores automaticamente.

Un saludo

Jordi

Posted: Wed Feb 27, 2008 12:06 pm
by narcis
Hola Jordi,

Perdona pero no entiendo cual és el problema exacto. Puedes enviarnos un ejemplo que podamos ejecutar "tal cual" para reproducirlo aquí?

Puedes enviar tus ficheros en el newsgroup news://www.steema.net/steema.public.attachments o a la página de uploads.

Grácias de antemano.

esto es lo q intento

Posted: Wed Feb 27, 2008 12:53 pm
by 15047158
Lo que quiero es siempre tener el dibujo de mi grafico en pantalla, asi que moviendome por el grafico... siempre tenga en la zona central el grafico completo entre los valores que hay ese momento en las barras de mi periodo... y que si me muevo para delante o para atras y los valores cambian.. que los valores de los ejes tambien cambien automaticamente para tener siempre información grafica en la pantalla (tchart1)

Posted: Thu Feb 28, 2008 10:11 am
by yeray
Hola Jordi,

Pues seguimos entendiendo lo mismo. Quieres hacer Scroll y que ajuste automáticamente el Left axis. Pero deduzco de tus explicaciones que utilizas una Candle series en tu gráfico.

Prueba éste código que te servirá para una Candle series:

Code: Select all

Private Sub TChart1_OnAfterDraw()
  With TChart1
    .Axis.Left.SetMinMax .Series(0).MinVisibleValue(3) - 0.5, .Series(0).MaxVisibleValue(2) + 0.5
  End With
End Sub
Sinó, intenta describir de forma más precisa de qué tipo de gráfico estás hablando (numero de ejes, tipo/s de series,...). O mejor aun si haces un ejemplo senzillo y nos lo mandas como te comentaba Narcís.