gpt4 book ai didi

javascript - 基于值的 Html 热图

转载 作者:行者123 更新时间:2023-11-29 23:46:40 25 4
gpt4 key购买 nike

我有一个从数据库动态创建的表。

            for (int m = 0; m < table.size(); m++) {

out.print("<tr>");

for (int k = 0; k < table.get(0).length; k++)

{ out.print("<td width='10'>");
out.print(table.get(m)[k]);
out.println("</td>");
}
out.println("</tr>");

}

我想让每个单元格根据其值着色,我的表的输出是;

My image

最佳答案

使用HSL而不是 RGB代表你的颜色。

你需要这样的东西:

let table = '<table>';

for (let i = 0; i < 4; ++i) {

table += '<tr>';

for(let k = 0; k < 10; ++k) {
const value = Math.random();
const h = 240 - value * 240;

table += '<td style="background: hsl(' + h + ', 100%, 50%)">' + value.toFixed(2) + '</td>';
}

table += '</tr>';
}

document.write(table);
table {
border: 1px solid #000;
border-collapse: collapse;
font-family: Sans-Serif;
color: #000;
}

td {
border: 2px solid #000;
padding: .5rem;
}

理想情况下,在后端添加 style 属性,以便您发送给客户端的页面已经具有颜色。如果出于任何原因您不能这样做,那么只需遍历客户端中的单元格,读取它们的值并为它们添加适当的背景颜色。

使用 HSL 的其他组件,您可以生成不同的颜色模式。例如,一个单色调色阶,两端是黑色和白色,中间是您选择的颜色,在本例中是蓝色:

let table = '<table>';

for (let i = 0; i < 4; ++i) {

table += '<tr>';

for(let k = 0; k < 10; ++k) {
const value = Math.random();
const l = value * 100;
const textColor = l < 35 ? '#FFF' : '#000';

table += '<td style="background: hsl(200, 100%, ' + l + '%); color: ' + textColor + '">' + value.toFixed(2) + '</td>';
}

table += '</tr>';
}

document.write(table);
table {
border: 1px solid #000;
border-collapse: collapse;
font-family: Sans-Serif;
color: #000;
}

td {
border: 2px solid #000;
padding: .5rem;
}

关于javascript - 基于值的 Html 热图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43766807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com