D3:细化序数比例以返回颜色组?

2024-04-15

我已经设置了一个序数尺度D3.js https://github.com/mbostock/d3/wiki/API-Reference如下,到目前为止效果很好:

var color = d3.scale.ordinal().range([ 'blue', 'red', 'green' ]); 
color.domain();  
console.log(color(0)); // returns 'blue'

然而,我真正想做的是能够通过two将数字输入比例尺,并让它返回特定的蓝色、红色或绿色子色调 - 主色调取决于第一个数字,子色调取决于第二个数字。

也许我可以结合d3.scale.ordinal() https://github.com/mbostock/d3/wiki/Ordinal-Scales#wiki-ordinal with d3.interpolateRgb() https://github.com/mbostock/d3/wiki/Transitions#wiki-d3_interpolateRgb以某种方式做到这一点?我不确定 interpolateRgb 是否是正确的选择,因为颜色一致很重要,具体取决于输入数字。

这就是我想要实现的目标:

color(0, 256); // return a shade of blue
color(0, 257); // return a second shade of blue
color(0, 256); // return the first shade of blue again

在 D3 中实现这一目标有什么想法吗?感谢您的帮助。


你可以考虑这样的事情:

var colorgroup = d3.scale.ordinal()
    .domain(d3.range(3))
    .range([ 'blue', 'red', 'green' ]); 
var brightrange = d3.scale.linear()
    .domain([0,300])
    .range([0,3]);  
function color(group,shift) {
     if (shift >= 0) {return d3.hsl(colorgroup(group)).darker(brightrange(shift));}
     else {return d3.hsl(colorgroup(group)).brighter(brightrange(-shift));}             
} 

例子:

console.log(color(0,255)); //dark blue
console.log(color(0,0)); //med blue
console.log(color(0,-150)); //light blue
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

D3:细化序数比例以返回颜色组? 的相关文章

  • 在 Node.js 中一次迭代 50 个项目的数组

    我是 node js 的新手 目前正在尝试编写数组迭代代码 我有一个包含 1 000 个项目的数组 由于服务器负载问题 我想一次迭代 50 个项目的块 我目前使用 forEach 循环 如下所示 我希望将其转换为上述块迭代 result i
  • Javascript拆分正则表达式问题

    你好 我正在尝试我认为在 Javascript 中相当简单的正则表达式 但给我带来了很多麻烦 我希望能够通过 javascript 通过 和 分割日期 var date 02 25 2010 var myregexp2 new RegExp
  • model.save() 返回无效输出

    我正在使用本文中的 Node js mongodb 和express 对 REST Api 进行简单测试 MERN 第一部分 使用 Node js 和 Express 构建 RESTful API https medium com week
  • 如何阻止地址自动填充谷歌地点

    所以我在我的表单上有一个谷歌地图自动完成功能 当它到达一个位置时 它会占据该位置并格式化它 以便所有正确的信息都进入表单上的不同输入 我遇到的问题是在 place changed 事件触发自动完成填充输入之前 我想阻止最初的人口 而是填充我
  • 引发一系列事件 Backbone event:name

    extend object Backbone Events object on myalert one function msg document body innerHTML eve1 msg msg name this name con
  • jQuery show() 和 hide() 的更流畅替代方案

    我有一个带有隐藏列的页面设置 使用 jQuery show 和 hide 函数将列滑入和滑出 然而 它有点 笨重 并且在显示 隐藏时看起来不太流畅 相比之下 我还有一个使用 jquery UI 手风琴的页面部分 当在这些部分之间切换时 过渡
  • CKEDITOR.styleSet.add - 'a' 元素的新样式

    由于某种原因如果我改变 p to a 它不再出现在样式列表中 有什么理由吗 CKEDITOR stylesSet add default name Wys wiersza 1 element p styles line height 18p
  • Javascript 函数,我如何开始理解它们?

    我完全理解 为了学习 javascript 我需要知道函数是如何工作的 我了解传递参数的基础知识 然后使用值调用函数以将某些内容添加到一起 等等 我读过无数关于函数的文章 例如以及书籍等 但我只是不明白它们是如何使用的以及何时应该使用它们等
  • Javascript for 循环跳过最后一个元素

    我有一个数组 根据某些条件从中删除某些元素 当我删除元素时 我会重新启动 for 循环 因为索引已刷新 var k for k 0 k lt this j data length k if condition true this j dat
  • 验证动态添加的输入字段

    我用过this http docs jquery com Plugins Validation以下表单的 jquery 验证插件
  • Angular2 - 防止复选框被选中

    我有一个每行包含一个复选框的表 在表头中 我有一个Check All切换所有表格行框的复选框 我正在尝试实现一些逻辑 如果复选框的数量将超过特定限制 则显示错误并且不切换表行复选框或checkall盒子本身 有一个问题允许checkAll即
  • JavaScript 检查时区名称是否有效

    有没有一种方法可以在不使用外部库的情况下检查 JavaScript 中的时区名称是否有效 当用户在文本字段中输入时区名称时 我想验证时区是否有效 我知道我们可以使用时刻时区库轻松做到这一点 但我不想使用任何额外的库 我正在寻找纯 JavaS
  • 包含括号的变量会导致问题[重复]

    这个问题在这里已经有答案了 简单的事情 当单击按钮并将其写入文本字段时 我读取选择框的值 选择框
  • Meteor JS:存储特定模板实例状态的最佳方法是什么?

    我正在学习 Meteor JS 中的会话和反应式数据源 它们非常适合设置全局 UI 状态 但是 我不知道如何将它们的范围限制到模板的特定实例 这就是我想做的 我的页面上有多个可内容编辑的元素 每个下面都有一个 编辑 按钮 当用户单击 编辑
  • javascript 函数后面括号中的值

    我正在尝试重新利用我在 SO 的答案中找到的一些 Javascript 代码 但我想首先更好地理解它的语法 其大纲是 function root ns factory some code window detectZoom function
  • 如何使用 Ajax 在 Flask 中发布按钮值而不刷新页面?

    我有一个问题 当我单击 Flask 应用程序中的按钮时 我想避免重新加载 我知道有 Ajax 解决方案 但我想知道如何将我的按钮链接到 ajax 函数以发布按钮值并运行链接到其值的 python 函数 这是我的 html 按钮 div di
  • 谷歌绘制具有相同比例的多个系列的图表

    我正在寻找一种在图形上显示多个系列的方法 这些系列具有相同的比例但仅显示一次 正如你在这里看到的 http jsfiddle net Youkoal d3xwnqdu http jsfiddle net Youkoal d3xwnqdu 我
  • 如何使用jquery点击眼睛图标时显示和隐藏密码

    我需要在单击眼睛图标时显示和隐藏用户密码 因此我为此编写了脚本 当我单击眼睛图标时 只有类正在更改 但密码不可见 再次单击斜线眼睛图标 它应该隐藏这两个图标方法不起作用如何解决这个问题
  • 如何在 Angular 2 中实现 D3

    我想将这段代码从 d3 js 实现到 Angular 2 组件 但我不知道如何将 js 文件调用到组件 ts 文件中 我找到了一些折线图的代码 包括index html和lineChart js 我怎样才能调用javascriptngAft
  • Fancybox修改。如何修改 fancybox 以停止在每个画廊的最后一项? (画廊 1 画廊 2 等)[重复]

    这个问题在这里已经有答案了 我正在为我的照片库使用 fancybox 插件 我有多个包含更多项目 照片 的画廊 我想知道如何在点击每个画廊的最后一个项目时停止幻灯片放映 我的 fancybox js 没有被修改 谢谢 您需要添加该选项loo

随机推荐

  • 如何将 `std::chrono::milliseconds` 转换为 `boost::posix_time::milliseconds`

    我正在使用 boost asio deadline timer 像这样在async read操作在一个TCP套接字 我在用提升1 61 long time out millis 2000 boost asio deadline timer
  • C# 使用子类参数重写方法

    我正在努力实现这样的目标 public abstract class BaseEvent public abstract void Dispatch IEventHandler handler public class MyEvent Ba
  • Android 上检测触摸区域

    是否有可能检测到每个被触摸的像素 更具体地说 当用户触摸屏幕时 是否可以跟踪用户触摸的点簇的所有 x y 坐标 如何区分用户用拇指绘图和用指尖绘图的区别 我想根据用户触摸屏幕的方式反映画笔的差异 并且还想跟踪随着时间的推移触摸的所有像素的
  • rake 资产预编译失败

    当我跑步时bundle exec rake assets precompile trace 我的预编译失败 但我看不出任何具体原因 请参阅此粘贴箱以获取我的输出 http pastebin com zggZyPyM http pastebi
  • Android - 拦截并传递所有触摸事件

    我有一个覆盖 ViewGroup 它是屏幕的大小 我想用它来在用户与应用程序交互时显示效果 但仍然将 onTouch 事件传递给任何底层视图 我对所有 MotionEvents 不仅仅是 DOWN 感兴趣 所以 onInterceptTou
  • 找不到模块:错误:无法解析模块“semantic-ui-css”

    我正在尝试使用Webpack https webpack github io 语义用户界面 http semantic ui com 但没有成功 我试过 npm i semantic ui css In my index js import
  • OData / WCF 数据服务不适用于复杂类型

    我对 OData 和 WCF 数据服务是全新的 所以这可能是一个简单的问题 我正在使用 VS Web Developer Express 2010 其中我在控制台应用程序中托管了一个非常简单的 WCF 数据服务 它从存储库 位于单独的 dl
  • EditText 在 ListView 中滚动时丢失内容?

    我有列表项EditText里面不知道会有多少物品 当我输入一些文本时遇到问题EditText 然后向下滚动ListView 当我再次向上滚动后 我的第一个中没有文字EditText 或者有一些来自其他人的文字EditText from Li
  • 如何避免在 Java 中检查空值?

    I use x null避免NullPointerException https docs oracle com javase 9 docs api java lang NullPointerException html 还有其他选择吗 i
  • 通过匹配模式过滤日志 - log4j

    我的 log4j xml 文件中有以下布局模式 d ISO8601 c p t x 9 5 4 RC12 m n 我想要的是 每当我收到包含消息的日志时process proc completed 应该跳过 我的意思是除了包含此消息的日志之
  • 我的 if 语句有什么问题?

    我现在正在尝试探索帕斯卡 我遇到了一些编译器错误 我写了一个 if else if 语句 如下所示 if input y or input Y then begin writeln blah blah end else if input n
  • GCC 内联汇编错误:“‘int’的操作数大小不匹配”

    首先 如果有人知道标准 C 库的函数 则会打印 一个字符串 无需寻找二进制零 但需要绘制字符数 请告诉我 否则 我会遇到这个问题 void printStringWithLength char str ptr int n chars asm
  • .net 应用程序挂起。奇怪的崩溃转储

    生产服务器有一个 24x7 运行的应用程序 有时它开始消耗接近 50 的 CPU 我无法在本地重现它 但我用 adplus 做了内存转储 服务器有Windows 2008 Server 64位 NET 3 5 该应用程序侦听 MSMQ 并有
  • Python:将函数作为参数传递,并设置选项

    在Python中 我需要调用许多非常相似的函数相同的输入参数 sampleA and sampleB 唯一的问题是其中一些功能需要option需要设置 有些则没有 例如 import scipy stats scipy stats mann
  • VBA 中的简单递归函数与 Excel 未返回预期结果

    我有一个用 VBA 编写的简单递归函数 它执行以下操作 它必须计算我们必须采用参数 x 的对数来查找 log x 例子 logcount 5 log 5 0 6 所以函数应该返回 1 logcount 89 log 89 1 9 和 log
  • 不同日期的列表

    我有以下代码 List
  • Picasso + RxJava2:方法调用应该从主线程发生

    这是我最初的问题 我试图在其中显示一些图像AutoScrollViewPager 我正在使用毕加索来实现同样的目的 但是 我想使用 Rxjava2 Picasso 做同样的事情 我对 RxJava 概念有点陌生 因此 如果有人可以帮助我提供
  • 无法让 Docker 容器相互通信

    我有两个 Docker 容器 一个运行 React 应用程序 使用 create react app 构建 另一个运行 Node 应用程序 API 我设置了一个 docker compose 文件 并根据文档 https docs dock
  • 每次引发异常时调用钩子函数

    假设我希望每次在程序中的任何位置引发任何异常时都能够记录到文件中 我不想修改任何现有代码 当然 这可以推广到每次引发异常时都能够插入一个钩子 下面的代码做这样的事情被认为是安全的吗 class MyException Exception d
  • D3:细化序数比例以返回颜色组?

    我已经设置了一个序数尺度D3 js https github com mbostock d3 wiki API Reference如下 到目前为止效果很好 var color d3 scale ordinal range blue red