• Viernes 8 de Noviembre de 2024, 12:52

Autor Tema:  Gráfica XY en MSChart de VB6.0  (Leído 5437 veces)

alejos

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Gráfica XY en MSChart de VB6.0
« en: Miércoles 30 de Septiembre de 2009, 00:12 »
0
Hola a todos,  tengo un problema con el MSChart para dibujar una gráfica y quería pedirles ayuda. He buscado en este y muchos foros y no encuentro ninguna solución.

Quiero dibujar una gráfica de tipo XY con el MSChart de VB6. El código que uso es el siguiente:
Código: Visual Basic
  1.  
  2. If Option1.Value = True Then
  3.  
  4.         ' Obtener los records o valores.
  5.         Set qdef = db.CreateQueryDef("", "SELECT Cantidad , Muestra FROM Tabla")
  6.         Set rs = qdef.OpenRecordset(dbOpenSnapshot)
  7.        
  8.         'Ver cuántos valores hay.
  9.         rs.MoveLast
  10.         NumPoints = rs.RecordCount
  11.         ReDim Values(1 To NumPoints, 1 To 2)
  12.  
  13.         'Cargar los datos.
  14.         rs.MoveFirst
  15.         For i = 1 To NumPoints
  16.              Values(i, 1) = rs!Muestra
  17.              Values(i, 2) = rs!Cantidad
  18.              rs.MoveNext
  19.         Next i
  20.        
  21.         'Dibujar gráfica
  22.         Chart.chartType = VtChChartType2dXY
  23.         Chart.Plot.Axis(VtChAxisIdX).AxisTitle.Text = "Muestras [n]"
  24.         Chart.Plot.Axis(VtChAxisIdY).AxisTitle.Text = "Cantidad"
  25.         Chart.TitleText = "Cantidad de piezas"
  26.         Chart.RowCount = NumPoints
  27.         Chart.ColumnCount = 2
  28.         Chart.ChartData = Values
  29.     End If
  30.  
  31.  

El código que les presento me saca una gráfica de la forma de la imagen que adjunto. Sin embargo si uso el tipo de gráfica VtChChartType2dLine me aparece la grafica que espero (ver la segunda imagen que adjunto) pero el eje x no es el qeu quiero y por eso debo usar el tipo XY.

¿Qué creen que tengo mal en el código? La conexión con la base de datos se realiza bien aunque no incluya todo el código ya que la gráfica en line aparece bien. Además no sé si entiendo bien el funcionamiento de las propiedades Column y Row y sus variantes aunque lo he estado mirando detenidamente y además lo he visto igual en varios ejemplos.

Espero qeu me puedan ayudar. Muchas gracias por su ayuda.

Saludos
Alejos
El mensaje contiene 2 archivos adjuntos. Debes ingresar o registrarte para poder verlos y descargarlos.

alejos

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Gráfica XY en MSChart de VB6.0
« Respuesta #1 en: Miércoles 30 de Septiembre de 2009, 17:12 »
0
Me contesto yo mismo. He encontrado una página donde buscando una solución para otro problema, me he encontrado con la solución.

support.microsoft.com/kb/194221/es

No se si se pueden poner enlaces a otras páginas. Si no se puede, pido disculpas por adelantado.

De todas formas, aunque haya solucionado este problema me he encontrado con otro que sí que no consigo encontrar solución. Mirad la gráfica que obtengo (ver imagen que adjunto), en ella el último punto se une con el origen inexplicablemente... nunca había visto eso. Alguien me puede decir cómo puede evitar esto?

Gracias por vuestra ayuda...

Saludos
Alejos
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

alejos

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Gráfica XY en MSChart de VB6.0
« Respuesta #2 en: Miércoles 30 de Septiembre de 2009, 17:57 »
0
Buf, llamadme tonto... jejeje. Me vuelvo a responder yo mismo...

Solución: nada más tonto como un índice  i = i+2 y que debería ser i=i+1, con lo que añadía un registro de ceros al final de la base de datos de la que tomaba los datos para la gráfica.


Saludos
Alejos