jQueryを使用して一連のDIVを使用して積み上げ棒グラフを作成しています。各スタックのセグメントは、さまざまなグレーの色合いで色付けされています。相対的な明るさを維持しながら、divの彩度を変更して、色を灰色からある色合いに変化させることにより、追加のグローバル値を棒グラフにエンコードしたいと思います。明らかなオプションは、各要素のHSL値を個別に変更することです。
バーの色を微調整するもっと賢い方法を見落としていますか?バーが透明にならないので、コンテナの背景色は使えないと思います。
答えをもう少し明確に文書化したいと思います。@ Pheonixblade9のアドバイスに従って、jQueryカラープラグインを使用しましたが、正しく機能させるのに問題がありました。
@ Pheonixblade9の回答へのコメントで述べたように、彩度の値が0になると、プラグインは色相の値を失い、代わりに0を使用するため、彩度を変化させる単純な解決策は機能しませんでした。これを確実に機能させるために、飽和値に最小値を導入しました。これは、モニターに表示されないほど小さいですが(予想)、プラグインコードが色相を失うのを防ぐのに十分です。
function setSaturation($elem, score, animationDuration) {
var targetColor = $.Color({saturation: Math.max(score, 0.01)});
$elem.animate({backgroundColor: targetColor}, animationDuration);
}