绘制条形图的HTML问题

编程入门 行业动态 更新时间:2024-10-25 22:23:36
本文介绍了绘制条形图的HTML问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我试图让一个脚本显示到数据库的条形图统计。为了做到这一点,我想在一个条形图上绘制不同的颜色,所以结果是一个2色的条,可以显示两个值在同一时间,在我的情况下,一些错误从一个总尝试。 p>

然后,我想在一行中显示几个这2个彩色条。但问题是我写的脚本,所有的酒吧一个在另一个,而不是并排。任何人都可以告诉我我做错了什么?

$ Errors = explode( - ]); $ Total = explode( - ,$ row ['num_col']); foreach($ Errors as $ key => $ values) { $ max = $ Total [$ key]; $ mistakes = $ values; $ scale = 10; $ Green = $ max * $ scale; $ Red = $ mistakes * $ scale; // echoResult。($ max- $ mistakes)。/。$ max。< br>; ?> < html> < style> .bar1 { width:40px; background-color:red; position:absolute; } .bar2 { width:40px; background-color:green; position:fixed; } .gap { width:100px; float:left; } .space { width:20px; float:left; } .container { width:40px; height:100px; position:relative } < / style> < body> <?php echo' < div class =container>< div style =height:'。 px; class =bar2>< / div> < div style =height:'。$ Red.'px; class =bar1>< / div> < div style =height:200 px; class =space>< / div>< / div> '; } ?> < / body> < / html>

只是添加,我几天前问过类似的问题:两种不同颜色的HTML垂直条和@ Tiago给了我答案关于如何绘制两个酒吧在一起。

解决方案

你有一个问题:如果有更多的答案错误?绿色将不显示。我知道是我给了这个解决方案,但我找到了另一个,更好的我认为:

HTML

< div class =groupstyle =width:30px; background-color:// option with more answers; height:// total answers ; float:left;> < div style =width:100%; background-color://其他颜色; height:// option with less answers; margin-top:// total-option with less answers; >< / div> < / div>

如果您有:

$ total = 500; $ wrong = 200; $ correct = 300; if($ wrong> $ correct){ $ color1 ='red'; $ color2 ='green'; $ less = $ correct; } else { $ color2 ='red'; $ color1 ='green '; $ less = $ wrong; } < div class =groupstyle =width:30px; background-color:<?php echo $ color1; ? height:<?php echo $ total; ? float:left;> < div style =width:100%; background-color:<?php echo $ color2; ? height:<?php echo $ less; ? margin-top:<?php echo($ total- $ less); ?>>< / div> < / div>

http:// jsfiddle/tZDay/

希望它帮助

I'm trying to make a script that display into a bar chart statistics from a database. To do that I thought in draw one bar over another with diffent colours, so the result is a 2 coloured bar, that can display two values at the same time, in my case a number of mistakes over from a total of tries.

Then I would like to display in a row several of this 2 coloured bars. But the problem is with the script I wrote, all bars appear one over another, instead of side by side. Could anyone tellme what I'm doing wrong??

$Errors=explode("-",$row['fails']); $Total=explode("-",$row['num_col']); foreach($Errors as $key => $values) { $max = $Total[$key]; $mistakes = $values; $scale = 10; $Green=$max*$scale; $Red=$mistakes*$scale; //echo "Result ".($max-$mistakes)."/".$max."<br>"; ?> <html> <style> .bar1{ width:40px; background-color:red; position:absolute; } .bar2{ width:40px; background-color:green; position:fixed; } .gap{ width:100px; float:left; } .space{ width:20px; float:left; } .container { width : 40px; height: 100px; position: relative } </style> <body> <?php echo' <div class="container"><div style="height:'.$Green.'px;" class="bar2"></div> <div style="height:'.$Red.'px;" class="bar1"></div> <div style="height:200 px;" class="space"></div></div> '; } ?> </body> </html>

Just add, I asked a similar question a few days ago: HTML vertical bar of two diferent colors And @Tiago gave me the answer about how to draw two bars together.

解决方案

you have a problem with that: what if there are more answers wrong?? the green won't show. I know it was me that gave that solution but i've found another one, better i think:

HTML

<div class="group" style="width: 30px;background-color: //option with more answers; height: //total answers; float:left;> <div style="width: 100%;background-color://the other color; height://option with less answers; margin-top://total-option with less answers; "></div> </div>

Example

If you have:

$total = 500; $wrong = 200; $correct = 300; if ($wrong>$correct) { $color1 = 'red'; $color2 = 'green'; $less = $correct; } else { $color2 = 'red'; $color1 = 'green'; $less = $wrong; } <div class="group" style="width: 30px;background-color: <?php echo $color1; ?>; height: <?php echo $total; ?>; float:left;"> <div style="width: 100%;background-color:<?php echo $color2; ?>; height:<?php echo $less; ?>; margin-top:<?php echo ($total-$less); ?>"></div> </div>

You will get the fisrt bar one this fiddle.

jsfiddle/tZDay/

Hope it helped

更多推荐

绘制条形图的HTML问题

本文发布于:2023-07-18 04:32:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1141057.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:条形图   HTML

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!