none
Problema a la hora de intentar añadir dos series en un mismo grafico con un mismo punto x e y RRS feed

  • Pregunta

  • Hola buenas,

    Estoy haciendo un gráfico en el que necesitaría dos columnas (una mas grande que otra) que estén en un mismo punto, para conseguir el efecto de rellenado como podríais ver en la foto de esta imagen ; https://cdn2.excelyvba.com/wp-content/uploads/2014/08/Gr%C3%A1fico-para-comparar-valores.png

    pero mediante "CHART" que tiene implementado visual basic 2010 se me está haciendo imposible mover una columna de punto X, para ponerla encima de otra. LLevo varios dias mirando en internet y haciendo pruebas y no consigo nada.

    Este gráfico lo relleno mediante un datatable  de la siguiente forma;

                  

      For cont As Integer = 0 To dt.Rows.Count - 1 Step 1
                    Me.grafico.Series("Valores").Points.AddXY(DgvPrincipal("C337_CODIGO", cont).Value,                 (DgvPrincipal("C337_INVENTARIO", cont).Value) / DgvPrincipal("C337_CONSUMO", cont).Value)

       Next


    Muchisimas gracias de antemano,

    Un saludo

    • Cambiado Enrique M. Montejo miércoles, 30 de mayo de 2018 7:07 Pregunta relacionada con el control de gráficos de Windows Forms.
    miércoles, 23 de mayo de 2018 9:42

Respuestas

Todas las respuestas

  • Deleted
    • Marcado como respuesta josetomas69 miércoles, 23 de mayo de 2018 14:10
    miércoles, 23 de mayo de 2018 13:11
  • Hola buenas Walter, lo primero gracias por la respuesta anterior, funciona perfectamente.

    Pero me ha surgido otro problema; Necesito dibujar una serie XY (un rectangulo), de un determinado tamaño, digamos que tenga 20 de alto (Y). Pero necesito que encima de esa serie que hemos dibujado en el gráfico, haya más rectangulos de forma que ocupe todo el grafico de alto. yo lo he hecho de la siguiente manera;

            For cont As Integer = 0 To dt.Rows.Count - 1 Step 1
                    Me.Chart1.Series("Lote").Points.AddXY(DgvPrincipal("C337_CODIGO", cont).Value,      (DgvPrincipal("C337_LOTE", cont).Value) / DgvPrincipal("C337_CONSUMO", cont).Value)
                    'Me.Chart1.Series("Valores").Points.AddXY(DgvPrincipal("C337_CODIGO", cont).Value,        (DgvPrincipal("C337_INVENTARIO", cont).Value) / DgvPrincipal("C337_CONSUMO", cont).Value)

                    Me.Chart1.Series("Lote").Color = Color.Bisque

                    For cont2 As Integer = 0 To 100 - 1 Step 1
                        Me.Chart1.Series("rectVacio" + cont2.ToString).Points.AddY((DgvPrincipal("C337_LOTE",                      cont).Value) / DgvPrincipal("C337_CONSUMO", cont).Value)
                    Next
                Next

    El problema está en que ahora necesito pintar de un porcentaje determinado de color esa serie "Lote" que hemos dicho arriba que iba a tener 20 de alto. Porejemplo si necesitaría pintar 10 en ese rectangulo necesitaria pintar de un color la mitad del rectangulo, y si necesitaría pintar el valor 22 pues tendría que pintarlo de un color saliéndose del rectangulo pero siendo visible el borde negro del rectangulo que tiene 20 de alto para que se vea  que sobra color. Habría alguna forma de pintar ese porcentaje mediante un gradiente o algo así? Y

    Yo de momento lo pinto como he marcado subrayado en la linea en negrita pero así lo único que consigo es dibujar el valor completo...

    Muchas gracias por tu ayuda,

    Un saludo

    jueves, 24 de mayo de 2018 8:00