javascript - 如何在 Javascript 中创建类似 excel 迷你图的内联条形图?

标签 javascript html graph spreadsheet bar-chart

我这里有一个关于此功能的图像示例,现在可在 Excel 2010 的迷你图中使用:

enter image description here

理想情况下,我希望有一条垂直线并指示每行的最大值/最小值。

任何达到这种效果的资源(我是来学习的)都会很棒。

最佳答案

(如果你只是想完成它,Google 图表会更快更简单 - 但如果你想学习,这听起来像是一个很酷的小项目。)

听起来您主要是在使用 HTML/CSS 时遇到了问题。

我会坚持使用 <div>为此,作为<table>浏览器在设置宽度、边框等方面有更多的包袱。<div>几乎是一张白纸。我会忽略您的示例图片中的所有额外线条(首先,无论如何)并专注于创建不同宽度的堆叠条,其中线条用于最大和最小。

HTML:

<div class="row">
  <div class="value">5873</div>
  <div class="min">3049</div>
  <div class="max">6039</div>
</div>

CSS:

div {
    height: 20px;  /* You'll want all of the heights to match */
}  

div.value {
     position: absolute;  /* All of the inner divs are positioned absolute so they overlap eachother */
     -moz-box-shadow: inset 0 0 10px #aaa;      /* basic inset shadow for some dimension - you could make it look however u like with some work */
     -webkit-box-shadow: inset 0 0 10px #aaa;
     box-shadow: inset 0 0 10px #aaa;
}
div.min,
div.max {
    position: absolute;
    text-indent: -999em;
    border-right: 2px solid #000;    /* This becomes the indicator for the min/max */
}

在 javascript 中,您需要设置所有 div.value 的宽度, div.max , 和 div.min基于他们的文本值是什么,比如:

$('div.value, div.min, div.max').each(function(){
    $(this).width($(this).text() / 100);
});

我在这里跳过了很多细节,但希望这会有所帮助。祝你好运!

关于javascript - 如何在 Javascript 中创建类似 excel 迷你图的内联条形图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4843775/

相关文章:

javascript - 改变菜单方向

javascript - jQuery 似乎没有克隆事件,而只是克隆 html/xml?

javascript - 不使用 jQuery 添加到 DOM

javascript - chrome.storage.local.get 如何设置一个值?

html - 在图像顶部显示文本区域

javascript - 跨多个部分和幻灯片的相同图像 fullpage.js

javascript - 一个按钮转换成一个简单的电子邮件表单

c# - 使用图形 api 在 Azure Active Directory 组中搜索用户

java - 在用户社交网络中找到前 k 个喜欢

graph - Racket中的递归回溯?