D3.js:根据值更改条的颜色[关闭]

2023-12-15

我一直在尝试 d3.js 条形图,我想根据 y 轴的值更改颜色,如何实现这一点。我尝试添加线性渐变,但后来我失去了对它的控制。

我正在编写的代码基于此:http://bost.ocks.org/mike/bar/


添加以下属性以适应颜色:

var data = [4, 8, 15, 16, 23, 42];

var width = 420,
  barHeight = 20;

var x = d3.scale.linear()
  .domain([0, d3.max(data)])
  .range([0, width]);

var chart = d3.select(".chart")
  .attr("width", width)
  .attr("height", barHeight * data.length);

var bar = chart.selectAll("g")
  .data(data)
  .enter().append("g")
  .attr("transform", function(d, i) {
    return "translate(0," + i * barHeight + ")";
  });

bar.append("rect")
  .attr("width", x)
  // add this attribute to change the color of the rect
  .attr("fill", function(d) {
    if (d > 25) {
      return "red";
    } else if (d > 10) {
      return "orange";
    }
    return "yellow";
  })
  .attr("height", barHeight - 1);

bar.append("text")
  .attr("x", function(d) {
    return x(d) - 3;
  })
  .attr("y", barHeight / 2)
  .attr("dy", ".35em")
  // add this attribute to change the color of the text
  .attr("fill", function(d) {
    if (d > 10) {
      return "white";
    }
    return "black";
  })
  .text(function(d) {
    return d;
  });
.chart text {
  font: 10px sans-serif;
  text-anchor: end;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>

<svg class="chart"></svg>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

D3.js:根据值更改条的颜色[关闭] 的相关文章

随机推荐

  • 在另一个视图中更新核心数据实体后,SwiftUI 列表视图未更新

    我有一个存储在核心数据中的课程实体 其变量之一是存储课程是否完成 这些课程列在 SwiftUI 列表中 选择后会转到游戏所在的视图 游戏完成后 complete 变量将更新为 true 应该发生的情况是列表视图显示列出的游戏 并在游戏旁边显
  • 无法在centOS中运行sshpass命令[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 正在研究 CentOS 6 3 最终版 系统 并尝试使用 ssh 另一台机器sshpass实用程序喜欢 sshpass p password ssh user host 但它给了我这
  • 通过 Random.Next() 排序

    In 这个问题其中一个建议是通过 Random Next 对列表进行排序 我认为 也许是错误的 他是在建议这个 public static IEnumerable
  • 如果我使用 Mockito,我还需要 Guice 吗?

    我一直在学习依赖注入 例如 Guice 在我看来 主要驱动因素之一 可测试性 已经被 Mocking 例如 Mockito 很好地涵盖了 依赖注入和模拟框架之间的区别 Ninject vs RhinoMock 或 Moq 是对依赖注入和 M
  • 在JSSOR中,如何通过Javascript访问当前标题?

    我想将 JSSOR 幻灯片中的值传递到 DOM 的其他部分 Markup div class slide img src bilder bild2 jpg div class caption p Caption text p div div
  • 在构建 Android 应用程序之前,将 jar 从其他目录拉到 libs 文件夹

    我有一个 Android 项目 它依赖于外部 jar 文件 即A jar 我已经配置了我的安卓build gradle首先构建构建的项目A jar 然后 Android 构建将继续 jar 构建后 将 jar 从其构建文件夹复制到 andr
  • FireFox 警告“未知伪类或伪元素‘隐藏’”不断运行

    我最近发现 Firefox 中出现一个警告 Warning 未知的伪类或伪元素 隐藏 这是页面http eleven23 net eleven23 beta work web lounge22 php 当到达具有 img hidden 的
  • 为什么反汇编后的数据会变成指令?

    我需要一些帮助来理解此时此刻发生的事情 这段代码 发生 jmp Begin 我只知道 com 文件可以是 64kb 因此您希望将所有内容放在一个段中 如果你想放置变量 你需要jmp 但是当我搜索它时 很多指南只是在评论中说 jmp Begi
  • 在 PHP 中检测移动设备的最简单方法

    判断用户是否使用移动设备使用 PHP 浏览我的网站的最简单方法是什么 我遇到过很多可以使用的类 但我希望有一个简单的 if 条件 我有办法做到这一点吗 这是一个来源 检测移动浏览器 下载 PHP 脚本 Code
  • Fortran 中是否有用于将数组初始化为零的内在函数?

    在 Fortran 中是否有办法将数组 向量 矩阵 甚至标量 设置为零 2003 2008 似乎将 Fortran 提升到了一个非常现代的水平 我想知道它们是否包含了一种简单的方法来将数组值设置为零 而无需执行以下操作 do i 1 X d
  • 显然你可以修改 const 值而无需 UB。或者你可以吗?

    开始编辑 用户 user17732522指出调用UB的缺陷来自事实pop back 使根据使用的参考资料无效vector库文档 当发生这种情况时 不需要 constexpr 求值来检测它 因为它不是 C 核心的一部分 然而 user1773
  • Android 的“onActivityResult”机制不起作用

    我在一个简单的应用程序中遇到了一个大而令人沮丧的问题 我有两个活动 A 和 B 活动 A 通过单击按钮打开活动 B 活动 B 有两个 结束 如果用户单击 B Back 如果刚刚完成 并返回到 A 如果用户单击 B OK 按钮 则活动 B 完
  • 为什么 Python 字符串是不可变的?使用它们的最佳实践

    让Python字符串不可变的设计原因是什么 它如何让编程变得更容易 我习惯了可变字符串 比如 C 中的字符串 如果没有可变字符串 我该如何编程呢 有没有最佳实践 当您收到字符串时 您将确保它保持不变 假设您要构造一个Foo如下带有字符串参数
  • 在 Silverlight 中将 XML 动态绑定到 DataGrid

    我一直在尝试在 Silverlight 特别是 Silverlight 4 但 SL3 中的任何解决方案也可以 中将 XML 通过 XElement 动态绑定到 DataGrid 但一直无法做到这一点 我希望动态地执行此操作 即 没有严格的
  • RewriteRule 无法编译正则表达式

    我以前的服务器工作正常 今天我更换了新服务器 并且 RewriteRule 无法在我的 htaccess 上编译正则表达式 如何修复这条线 RewriteRule category 0 9 category php pid 1 catnam
  • 你可以将 UITabBarController 推入 UINavigationController 中吗

    是否无法将 UITabBarController 推入 UINavigationController 中 我在旧版本的 iOS 中读过 但现在情况仍然如此吗 简而言之 是的 你可以 但仅仅因为你可以 并不意味着你应该这样做 这UITabBa
  • Django 中的导航

    我刚刚在 django 中完成了我的第一个小 web 应用程序 我喜欢它 我即将开始将旧的 PHP 生产站点转换为 django 作为其模板的一部分 有一个导航栏 在 PHP 中 我在模板代码中根据当前 URL 检查每个导航选项的 URL
  • 按时间或运行总和进行缓冲以进行反应式扩展

    我对反应式扩展相当陌生 想要根据时间缓冲流 或者根据不超过阈值的运行总和 每个项目的大小由 lambda 指定 以先发生者为准 就像现有的Buffer按计数或时间 目前我已经编写了自己的实现Buffer方法按预期工作 使用ISchedule
  • 使用 .htaccess 附加参数

    我正在努力处理 htaccess 重写命令 我拥有的是 RewriteCond HTTP HOST www mywebsite co uk RewriteCond REQUEST URI subfolder RewriteRule subf
  • D3.js:根据值更改条的颜色[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我一直在尝试 d3 js 条形图 我想根据 y 轴的值更改颜色 如何实现这一点 我尝试添加线性渐变 但后来我失去了对它的控制 我正在编写的代码基于此 http bost ocks