Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/12/2004, 01:51
elcucas
 
Fecha de Ingreso: noviembre-2004
Mensajes: 9
Antigüedad: 20 años, 5 meses
Puntos: 0
Para generar gráficas de barras flotantes

Este tipo de gráfico no está definido para usar en OWC, pero jugando con barras apiladas y haciendo que la primera sea transparente logro lo que vendría a ser un grafico de barras flotantes.

A mi me funciona. No sé si modificaste los valores a representar y a lo mejor alguno es nulo de ahí el error. Prueba borrando los valores de las barras así:

<%
'grafica de barras flotantes
Dim fecha_ini, x
x=1
'tomamos inicio de la gráfica como hoy
fecha_ini=date()
Set grafica = server.CreateObject("MSGraph.Chart")
Set ds = grafica.Application.DataSheet
ds.Cells.Clear
x=x+1
'nombre de la serie
ds.Cells(1, x).Value = "carlos"
'punto de inicio de la barra
ds.Cells(2, x).Value = fecha_ini+100
'valor desde el inicio
ds.Cells(3, x).Value = datediff("d",fecha_ini,(fecha_ini+90))
x=x+1
'nombre de la serie
ds.Cells(1, x).Value = "juan"
'punto de inicio de la barra
ds.Cells(2, x).Value = fecha_ini+60
'valor desde el inicio
ds.Cells(3, x).Value = 60
x=x+1
'nombre de la barra 2
ds.Cells(1, x).Value = "luis"
'fecha inicio barra proyecto
ds.Cells(2, x).Value = fecha_ini+20
'duración proyecto
ds.Cells(3, x).Value = "0"
'duración tarea
ds.Cells(4, x).Value = 90
x=x+1
'nombre de la barra 2
ds.Cells(1, x).Value = "pedro"
'fecha inicio barra proyecto
ds.Cells(2, x).Value = fecha_ini+200
'duración proyecto
ds.Cells(3, x).Value = "0"
'duración tarea
ds.Cells(4, x).Value = datediff("d",fecha_ini,(fecha_ini+120))
'tipo de frafico
grafica.ChartType = 61
'leyenda
grafica.HasLegend = False
'titulo
grafica.HasTitle = False
'ancho grafica
grafica.Width = 700
'ancho area de dibujo
grafica.PlotArea.Width = 600
'alto en función del nº de barras
dim alto
alto=90+((x-3)*20)
'alto grafica
grafica.Height = alto+180
'alto area dibujo
grafica.PlotArea.Height = alto
'aplicamos valores
grafica.ApplyDataLabels
'ocultamos la 1ª barra
grafica.SeriesCollection(1).Border.LineStyle = xlNone
grafica.SeriesCollection(1).Interior.ColorIndex = xlNone
grafica.SeriesCollection(1).DataLabels.delete
'borramos valores de la barra
grafica.SeriesCollection(2).DataLabels.Delete
'grafica.SeriesCollection(2).DataLabels.AutoScaleF ont = True
'grafica.SeriesCollection(2).DataLabels.Font.Size = 8
'color de la barra
grafica.SeriesCollection(2).Interior.ColorIndex = 41
'borramos valores de la barra
grafica.SeriesCollection(3).DataLabels.delete
'grafica.SeriesCollection(3).DataLabels.AutoScaleF ont = True
'grafica.SeriesCollection(3).DataLabels.Font.Size = 8

grafica.Activate

'formato eje X
grafica.Axes(2).TickLabels.NumberFormat = "dd-mm-yy;@"
grafica.Axes(2).TickLabels.Font.Name = "Verdana"
grafica.Axes(2).TickLabels.Font.FontStyle = "Normal"
grafica.Axes(2).TickLabels.Font.Size = 8

'rotulo en vertical
grafica.Axes(2).TickLabels.Orientation = -4170
'mímimo escala
grafica.Axes(2).MinimumScale = fecha_ini
'maximo escala
grafica.Axes(2).MaximumScale = fecha_ini+365
'intervalo menor (líneas de división secundarias)
grafica.Axes(2).MinorUnit = 15
'intervalo mayor (líneas de división primarias cada mes)
grafica.Axes(2).MajorUnit = 30
grafica.Axes(2).ReversePlotOrder = False
grafica.Axes(2).ScaleType = xlLinear
grafica.Axes(2).DisplayUnit = xlNone
grafica.Axes(1).HasMajorGridlines = True
grafica.Axes(1).HasMinorGridlines = False
grafica.Axes(2).HasMajorGridlines = True
grafica.Axes(2).HasMinorGridlines = True
'valores eje Y
grafica.Axes(1).TickLabels.Font.Name = "Verdana"
grafica.Axes(1).TickLabels.Font.FontStyle = "Normal"
grafica.Axes(1).TickLabels.Font.Size = 8
grafica.Axes(1).TickLabels.AutoScaleFont = True

tFile = Server.MapPath("grafica.gif")

grafica.Export tFile
%>


A ver si te funciona, a mi perfectamente de los dos modos. Si tienes algun problema aquí estoy.