none
Gráficos - Tamanho da barra RRS feed

  • Pergunta

  • Seguinte criei um gráfico onde ele puxa informações do banco de dados e faz algumas contas, baseado nos resultads são feitas as barras..

     

    Só que não consigo dar um tamanho padrão para as barras, meu gráfico:

     

            <td bgcolor="#d1d6df"><font size="1" face="arial">No Mes </font></td>
            <td bgcolor="#f5f5f5" width="150"><img src="images/verde.gif" width="<%=((var*100)/var)%>" height="10"></td>
            <td bgcolor="#f5f5f5" align="right"><font size="1"><%=ip0%></font></td>       
            <td bgcolor="#d1d6df" width="150"><img src="images/azul.gif" width="<%=((var*100)/var)%>" height="10"></td>
            <td bgcolor="#d1d6df" align="right"><font size="1"><%=var%></font></td>       
            <td bgcolor="#f5f5f5" width="150"><img src="images/verde.gif" width="<%=((var*100)/var)%>" height="10"></td>
            <td bgcolor="#f5f5f5" align="right"><font size="1"><%=var%></font></td>                             
            <td bgcolor="#d1d6df" width="150"><img src="images/azul.gif" width="<%=((var*100)/var)%>" height="10"></td>
            <td bgcolor="#d1d6df" align="right"><font size="1"><%=var%></font></td>

     

    Eu precisaria fazer algo do tipo assim:

     

    A maior variavel se igualasse a 100 (onde 100 seria o tamanho máximo da barra)

    A menor variavel se igualasse a 0 (onde 0 seria o tamanho minimoi da barra, ou seja, nada)

     

    E no meio disso variáveis se ajustassem de acordo com o tamanho, seguindo as necessidades acima, não sei ao certo se preciso fazer isso de igualar mas foi uma forma na qual pensei...

    quarta-feira, 30 de julho de 2008 19:33

Todas as Respostas

  • O fato de eu não padronizar o tamanho das barras é porque os números vão variar de mais, algumas tabelas terão números de -5 até +5 outras de 0 a 5 e assim por diante, não são números muito altos mas as barras também não são muito grande porque são 4 gráficos um do lado do outro por isso a necessidade de igualar igual citei acima...

    quarta-feira, 30 de julho de 2008 20:03
  •  

    eu fiz assim

     

    if maxindex=index0 then
     nindex0=100
    else
     nindex0=index0*100/maxindex
    end if
    if maxindex=index1 then
     nindex1=100
    else
     nindex1=index1*100/maxindex
    end if
    if maxindex=index2 then
     nindex2=100
    else
     nindex2=index2*100/maxindex
    end if
    if maxindex=index3 then
     index3=100
    else
     nindex3=index3*100/maxindex
    end if
    if maxindex=index4 then
     nindex4=100
    else
     nindex4=index4*100/maxindex
    end if
    if maxindex=index5 then
     nindex5=100
    else
     nindex5=index5*100/maxindex
    end if
    if maxindex=index6 then
     nindex6=100
    else
     nindex6=index6*100/maxindex
    end if

     

    sóque se for menor que 0 a barra fica no zero sendo que se for menor que zero o menor número será 0 e dai por diante huahau tentem me intender ^^, ordens do patrão .. =D

    quarta-feira, 30 de julho de 2008 21:09
  • Flavio desculpe mas nao estou conseguindo enxergar esta sua lógica, por exemplo, voce esta usando os cálculos iguais para ambas as barras certo.

     

    ((var*100)/var)

     

    Independente da informaçao que entrar em "var" voce esta multiplicando e dividindo pelo mesmo valor e o resulta seria sempre 100, ou seja, as barras estariam sempre com a largura igual a 100.

    Nao sei se é isso que voce quer mas digamos que voce tenha 1000 carros, deste 1000 sao os seguintes dados.

     

    barraverde = 200 palio

    barraazul = 800 gol

     

    tam_barraverde = (200*100)/1000

    tam_barraazul = (800*100)/1000

     

    Ai sim voce teria uma barra com 80px e 20px.

     

    Bom se nao for isso por favor explique melhor

     

    Abraços

     

    Estevam

     

     

    quarta-feira, 30 de julho de 2008 21:19
  • O que eu uso para dividir é o tamanho máximo, e os outros cada um tem um valor onde 100 é o tamanho máximo da barra. E as outras variaveis cada uma tem um valor.

    quinta-feira, 31 de julho de 2008 11:49
  •  

    Seguinte eu achei na internet, olha ele fez igual eu só que por aqui você via entender melhor:

     

    resultado=(valor*100)/total)

     

    <img src="barramidle.gif" width="<%=resultado%>%" height="10">

     

    Bom até ai tudo bem, e para não dar pau de o valor maior dar 0 eu igualei ele a 100.

     

    Só que no meu gráfico podem aparecer números negativos isso que ta me ferrando...

     

    Se o npumero for negativo o menos npumero seria 0 , no ssaco -5 a 5, 0=-5, 5=100, só que aqui todo numero abaixo de 0 fica no 0 na barra =D

     

    Entendeu:?

    quinta-feira, 31 de julho de 2008 12:05
  • Flavio, voce esta trabalhando com tabelas certo?

    Entao crie duas colunas, sendo que coluna direita fica para valores positivos e a coluna esquerda fica para valores negativos, se nao houver valores negativos todas as imagens da coluna esquerda devem assumir largura 0.

     

    Abraços

     

    Estevam

    quinta-feira, 31 de julho de 2008 12:27
  • Resolvido pode deixar vlw

    quinta-feira, 31 de julho de 2008 17:24