dc js 复合条形图 折线图

2024-05-26

我有一个 dc js 条形图,如下所示这个叉形小提琴 http://jsfiddle.net/89218vf1/3/。此条形图将加载预定义的过滤器,例如本例中的 25-35。现在,我需要显示一个与条形图复合的折线图,突出显示带有高低线的过滤数据,如图所示。

JS Code:

var tempBarChart = dc.barChart("#barChartTemp");

// reset the charts
function reset() {
    dc.filterAll();
    dc.renderAll();
}

// remove axis markings 
tempBarChart.yAxis().ticks(0);
var parseDate = d3.time.format("%m/%d/%Y").parse;

// Add more ticks
tempBarChart.xAxis().ticks(10);


// change width of bars, lower # = wider
tempBarChart.xUnits(function () {
    return 30;
});


// change the colors
//var colorScale = d3.scale.ordinal().range(["#ff7f0e"]);

json = [{
    "date": "12/27/2012",
    "Ocean": "South Atlantic",
    "temp": 23,
    "psal": 35,
    "pressure": 35,
    "FloatID": 133465,
    "pH": ".4"
}, {
    "date": "12/27/2012",
    "Ocean": "South Atlantic",
    "temp": 23,
    "psal": 35,
    "pressure": 35,
    "FloatID": 133465,
    "pH": ".7"
}, {
    "date": "12/27/2012",
    "Ocean": "South Atlantic",
    "temp": 23,
    "psal": 35,
    "pressure": 35,
    "FloatID": 133455,
    "pH": ".2"
}, {
    "date": "12/27/2012",
    "Ocean": "Indian",
    "temp": 23,
    "psal": 30,
    "pressure": 200,
    "FloatID": 133665,
    "pH": ".8"
}, {
    "date": "12/27/2012",
    "Ocean": "South Atlantic",
    "temp": 23,
    "psal": 30,
    "pressure": 300,
    "FloatID": 133565,
    "pH": ".3"
}, {
    "date": "12/27/2012",
    "Ocean": "South Atlantic",
    "temp": 23,
    "psal": 33,
    "pressure": 400,
    "FloatID": 123465,
    "pH": ".5"
}, {
    "date": "12/28/2012",
    "Ocean": "South Pacific",
    "temp": 20,
    "psal": 38,
    "pressure": 600,
    "FloatID": 133765,
    "pH": ".7"
}, {
    "date": "12/29/2012",
    "Ocean": "South Atlantic",
    "temp": 22,
    "psal": 33,
    "pressure": 750,
    "FloatID": 135465,
    "pH": ".9"
}, {
    "date": "12/30/2012",
    "Ocean": "Indian",
    "temp": 27,
    "psal": 37,
    "pressure": 900,
    "FloatID": 133485,
    "pH": ".7"
}, {
    "date": "01/03/2013",
    "Ocean": "North Atlantic",
    "temp": 21,
    "psal": 34,
    "pressure": 1400,
    "FloatID": 126466,
    "pH": ".6"
}, {
    "date": "01/04/2013",
    "Ocean": "South Pacific",
    "temp": 31,
    "psal": 38,
    "pressure": 1600,
    "FloatID": 133467,
    "pH": ".3"
}, {
    "date": "01/05/2013",
    "Ocean": "South Atlantic",
    "temp": 35,
    "psal": 39,
    "pressure": 1700,
    "FloatID": 144485,
    "pH": ".2"
}, {
    "date": "01/06/2013",
    "Ocean": "Antarctic",
    "temp": 32,
    "psal": 31,
    "pressure": 1800,
    "FloatID": 166465,
    "pH": ".6"
}, {
    "date": "01/06/2013",
    "Ocean": "North Pacific",
    "temp": 32,
    "psal": 31,
    "pressure": 1800,
    "FloatID": 173765,
    "pH": ".7"
}, {
    "date": "12/31/2012",
    "Ocean": "Indian",
    "temp": 20,
    "psal": 32,
    "pressure": 1000,
    "FloatID": 143465,
    "pH": ".2"
}, {
    "date": "01/01/2013",
    "Ocean": "North Pacific",
    "temp": 29,
    "psal": 31,
    "pressure": 1110,
    "FloatID": 135465,
    "pH": ".9"
}, {
    "date": "01/02/2013",
    "Ocean": "North Atlantic",
    "temp": 33,
    "psal": 38,
    "pressure": 1200,
    "FloatID": 153465,
    "pH": ".8"
}, {
    "date": "01/03/2013",
    "Ocean": "North Atlantic",
    "temp": 21,
    "psal": 34,
    "pressure": 1400,
    "FloatID": 136465,
    "pH": ".5"
}, {
    "date": "01/04/2013",
    "Ocean": "North Pacific",
    "temp": 31,
    "psal": 38,
    "pressure": 1600,
    "FloatID": 133465,
    "pH": ".7"
}, {
    "date": "01/05/2013",
    "Ocean": "Indian",
    "temp": 35,
    "psal": 39,
    "pressure": 1700,
    "FloatID": 134465,
    "pH": ".6"
}, {
    "date": "01/06/2013",
    "Ocean": "North Pacific",
    "temp": 32,
    "psal": 31,
    "pressure": 1800,
    "FloatID": 163465,
    "pH": ".2"
}, {
    "date": "01/03/2013",
    "Ocean": "North Atlantic",
    "temp": 21,
    "psal": 34,
    "pressure": 1400,
    "FloatID": 136466,
    "pH": ".3"
}, {
    "date": "01/04/2013",
    "Ocean": "South Pacific",
    "temp": 31,
    "psal": 38,
    "pressure": 1600,
    "FloatID": 133467,
    "pH": ".6"
}, {
    "date": "01/05/2013",
    "Ocean": "South Atlantic",
    "temp": 35,
    "psal": 39,
    "pressure": 1700,
    "FloatID": 134485,
    "pH": ".7"
}, {
    "date": "01/06/2013",
    "Ocean": "Antarctic",
    "temp": 32,
    "psal": 31,
    "pressure": 1800,
    "FloatID": 165465,
    "pH": ".8"
}, {
    "date": "01/06/2013",
    "Ocean": "North Pacific",
    "temp": 32,
    "psal": 31,
    "pressure": 1800,
    "FloatID": 173465,
    "pH": ".9"
}, {
    "date": "01/07/2013",
    "Ocean": "North Atlantic",
    "temp": 40,
    "psal": 35,
    "pressure": 2000,
    "FloatID": 133485,
    "pH": ".1"
}];
var xFilter = crossfilter(json);


json.forEach(function (d) {
    d.date = parseDate(d.date);
});

// dimensions and groups, Dim = plot readings, Group = individual readings
var tempDim = xFilter.dimension(function (d) {
    return d.temp;
});
var tempGroup = tempDim.group().reduceCount(function (d) {
    return d.temp;
});

var dateDim = xFilter.dimension(function (d) {
    return d.date;
});
var dateGroup = dateDim.group().reduceCount(function (d) {
    return d.total;
});



var minDate = dateDim.bottom(1)[0].date;
var maxDate = dateDim.top(1)[0].date;


var minTemp = tempDim.bottom(1)[0].temp;
var maxTemp = tempDim.top(1)[0].temp;


// Chart 2 -------------------------------      
tempBarChart.width(300).height(150)
    .dimension(tempDim)
    .group(tempGroup)
    .x(d3.scale.linear()
    .domain([15, 45]))
    .xAxisLabel("Temperature")
    .filter([25,35])
    .centerBar(true);



// render all charts
dc.renderAll();

HTML 代码:

<body>    
    <div style='clear:both'></div>
    <div style='clear:both'></div>
    <div id="barChartTemp"></div>         
</body>

CSS:

body {
    background-color: white;
    zoom: 200%;
}
/* layout of charts */
 #oceanRowChart {
    float:left;
}
#oceanRowChart .axis {
    visibility:hidden;
}
#barChartDate {
    float: left;
    margin-top:44px;
}
#reset {
    float: left;
    margin-left: 35px;
}
#barChartTemp {
    float: left;
    width:25%;
}
#barChartPsal {
    float: left;
    width:25%;
}
#barChartDepth {
    float: left;
    width:25%;
}
#barChartPH {
    float: left;
    width:25%;
}
#middleRow {
    float:left;
}
.dc-chart.axis y {
    visibility:hidden;
}
.dc-table-label {
    font-weight:bold;
}
/* overwrite bootstrap table */
 .container .row {
    margin-left: -150px;
}

提前致谢,

Vicky


None

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

dc js 复合条形图 折线图 的相关文章

  • 如何在dc.js中过滤dataTable而不影响其他维度

    因此 有一段时间我一直在努力解决如何在 dc js 中过滤数据表而不影响其他维度 这似乎违反直觉 因为它违背了 crossfilter dc js 背后的数据过滤器 的最佳表现 但我将解释为什么这是相关的 假设我有一个人名 年龄和性别的数据
  • 平移/缩放顺序尺度?

    我正在使用 d3 渲染简化的甘特图 并使用 d3 behavior zoom 进行平移和缩放 x 刻度是一个时间刻度 稍微修改为列中的中心日历日等 并且工作得很好 但是我在决定如何缩放 平移 y 刻度时遇到问题 其域是通常会出现的任务列表图
  • 如何在 Angular 2 中实现 D3

    我想将这段代码从 d3 js 实现到 Angular 2 组件 但我不知道如何将 js 文件调用到组件 ts 文件中 我找到了一些折线图的代码 包括index html和lineChart js 我怎样才能调用javascriptngAft
  • D3js 从数组而不是文件中获取数据

    我发现了这个优秀的 d3js 图表here http bl ocks org Caged 6476579 但就我而言 我希望此图表从数组而不是 tsv 文件中获取值 我想让它从表 中获取值 我怎样才能做到这一点 因为它使用一个函数来实现这一
  • 如何从此 d3.js layout.tree 获取树祖先和树后代的列表?

    我正在尝试和修改this https bl ocks org mbostock 4339083d3 js 的示例 用于根据 JSON 树结构绘制树 这就是树的一部分开始时的样子 我正在尝试进行两个单独的修改 但我不知道该怎么做 当单击节点的
  • 如何使用 d3.format 获取可本地化或可定制的 si 代码

    使用 SI 代码绘制图表正是我们想要的 我们的 y 轴值往往是较大的货币值 例如 10 411 504 201 20 缩写这个 至少在美国语言环境中 这应该转换为 10 4B 但是使用 d3 format 的 s 类型表示 SI 代码 这将
  • d3.js 强制布局是否允许动态 linkDistance?

    我使用力布局来表示有向未加权网络 我的灵感来自以下例子 http bl ocks org mbostock 1153292 http bl ocks org mbostock 1153292 我的问题是 在我的情况下 节点之间有更多的链接
  • dc lineChart 单击时弹出数据点信息

    我正在尝试检测折线图数据点上的点击 Per this answer dc scatter plot binding onClick event https stackoverflow com a 22772340 1873386 I am
  • NVD3 - 配置轴上的刻度

    我有一个 nvd3 折线图 它显示时间序列 但无法在 x 轴右侧获取刻度 对于较长的时间跨度 它会按预期工作 但对于较短的时间跨度 此处 12 31 05 至 01 01 06 多个刻度显示相同的日期 请看一下JSFiddle 上此图表的代
  • D3 强制布局,较大的节点聚集在中心

    我一直在修改将用于标签云的强制布局 每个标签都由一个
  • 赋予 d3 序数轴标签与尺度名称不同

    我有一个序数scale具有不同值的某些标签 我想显示该比例的轴 其中轴标签与比例标签不同 我有这个代码 var width 1000 var height 600 var margins left 100 40 right 25 botto
  • d3 序数尺度的映射

    我正在使用 D3 的序数比例将数字映射到颜色 我用过这个 color d3 scale ordinal range 1f77b4 ff7f0e 2ca02c d62728 9467bd 8c564b e377c2 domain 0 6 co
  • 动画 D3 地球仪 (d3.geo.azimuthal)

    我对 d3 javascript 库有疑问 我想使用方位角 http mbostock github com d3 talk 20111018 azimuthal html地球 我想从地球上的经度和纬度坐标插入点 并使地球动画化 而无需使用
  • 如何在 d3.js 中的节点上制作双击事件?

    我想在节点上进行双击事件 所以我尝试了 on dbclick function d return http google com and bind dbclick function d alert hello 但一切都失败了 谁能帮我 完整
  • d3.js:在 SVG 线性渐变中过渡颜色?

    正如标题所说 使用D3 js 是否可以实现线性渐变的颜色过渡 例如 如果我有这个渐变 var gradient svg append svg defs append svg linearGradient attr id gradient a
  • D3.js 从 file:/// 加载本地数据文件

    我知道D3 js支持使用XHR和JSONP加载数据文件requests https github com mbostock d3 wiki Requests 但就我而言 我将通过从文件系统双击 html 文件来运行它们 这将像file fo
  • 如果满足条件,则在另一个转换期间添加并发转换

    我试图在转换运行时添加一个新的转换 条件是如果 bar1 宽度与 bar2 匹配 则条形会更改位置 我使用了transition tween来查看是否满足条件 当第二个转换开始时 第一个转换停止 我希望第一个转换继续运行直到其持续时间结束
  • svg / d3.js 矩形一侧的圆角

    我知道 svg 有一个内置函数可以做圆角 但我只需要在四个角中的 2 个上做圆角 我知道我可以在彼此之上绘制多个矩形来模仿这一点 但这看起来有点俗气 有什么方法可以使用剪辑或任何 d3 js 方法来做到这一点吗 现在我有一个水平条形图 其中
  • 为什么 d3.js-lasso 不读取 svg 变量

    https jsfiddle net t52f1rn7 https jsfiddle net t52f1rn7 我正在尝试制作一个线条末端有圆圈的折线图 我想选择两个点并通过单击绘制线条 然后我找到了套索插件 我尝试将它用于相同的目的 选择
  • D3 地图未渲染澳大利亚 topojson 文件

    我有一个 JSON 文件 d3 地图未渲染我创建的澳大利亚 TopoJSON 文件 相同的代码可以很好地渲染美国地图 浏览器检查器中没有错误 并且两个地图在 geojson io 等在线可视化网站上都呈现良好 我已经提供了 JSON 的链接

随机推荐

  • 如何向 C# XmlDocument 添加新的根元素?

    我有一个不受我控制的 XmlDocument 其结构如下
  • 重构:使用实例参数重载方法的类型安全方法是什么,例如方法(自己,其他)?

    我想将以下内容重构为类型安全的内容 我现在给出了 mypy 与超类型不兼容 错误 我理解这是由于里氏替换原则 子类型中方法参数的逆变 子类型中返回类型的协方差 也就是说 如果我理解正确的话 我可以返回A or a subtype of A
  • pymc 对多个变量进行观察

    我在用着黑客贝叶斯方法线性回归的示例 https nbviewer jupyter org github CamDavidsonPilon Probabilistic Programming and Bayesian Methods for
  • R 中具有重叠样本的分割向量

    假设我有一个包含 1000 个值的向量 我想将此向量 拆分 分区 分组 为多个向量 每个向量包含 200 个值 并且它们之间有 100 个值的重叠 E g vec seq 1 1000 splitWithOverlap vec 200 10
  • 从 scipy Delaunay 三角剖分中删除单纯形

    我有一组点 使用 scipy spatial Delaunay 函数计算 Delaunay 三角剖分 例如以下内容 import numpy as np from scipy spatial import Delaunay tri Dela
  • log4cxx:使用参数配置附加程序

    log4cxx 的配置是通过以下方式从后续 xml 中读取的 DOMConfigurator configure log4cxx xml 但是 想要在运行时设置文件名 这会产生一个问题 要么有多个 xml 供读取 要么动态创建一个 在内存中
  • 如何修复 Tensorflow 中的“ValueError:操作数无法与形状 (2592,) (4,) 一起广播”?

    我目前正在设计一个 NoisyNet 层 如下所示 探索嘈杂的网络 https arxiv org abs 1706 10295 在 Tensorflow 中并得到如标题所示的维度误差 而两个张量的维度将在行中按元素相乘filtered o
  • for循环增量语句中的奇数位运算符[重复]

    这个问题在这里已经有答案了 鉴于这个 for 循环 for i i lt MAX N i i i 它是什么意思 声明的内容是什么i i i完成 这种循环经常在二叉索引树 或 BIT 实现中观察到 这对于在对数时间内更新范围或点以及查询范围或
  • 创建 MySQL 用户时使用 % 表示主机

    我的 MySQL 数据库需要两个用户 appuser 和 support 一位应用程序开发人员坚持要求我为这些用户创建四个帐户 appuser appuser localhost support support localhost 我一生都
  • 在 ionic cordova 构建 android 时出现错误

    刚开始学习 ionic 3 出现以下错误ionic cordova build android node 6364 UnhandledPromiseRejectionWarning Unhandled promise rejection r
  • 基于UnixTime的MySQL动态分区

    我的数据库设计包括多个 MYISAM 表 其中包含在线收集的测量值 每行记录包含自动递增的 id 一些数据和一个表示 unixtime 的整数 我正在设计一种老化机制 并且我有兴趣使用MySQL分区来基于unixtime动态地对每个这样的表
  • 优化查找所有实现 IInterface 的类以及使用特定类型显式实现它的类

    我定义了一个接口 ISerializeDeserialize 和一些继承通用接口的类 我还有一些使用 CodeDomProvider 生成代码的程序集 它生成从同一接口继承的类 但使用特定类型实现它 我想要实现的是获取通用实现和实现特定类型
  • 如何将flex和bison与Qt项目集成?

    我正在 git 源代码控制下使用 Qt4 制作 GUI 程序 Github页面 https github com vinayak garg dic sim 项目的一小部分需要扫描和解析 所以我想在项目中使用flex和bison 我能想到3种
  • 在 Mule 3.4 中模拟 while 循环

    我需要在 Mule Flow 中使用 while 循环来从自定义 DAO 中加载数据块 我使用表达式转换器来访问 DAO 直到他不再提供任何项目 我不知道 DAO 提供的项目总量 Mule 3 4 中没有内置 while 循环 我的第一个想
  • Haskell Fibonacci 达到最大指定数?

    我有一个已启动并正在运行的 Haskell 函数 但它做错了事情 它应该输出最多指定最大数量的斐波那契数列 像这样 fibonacciSequence 86 1 1 2 3 5 8 13 21 33 54 我的代码当前输出斐波那契数列中的前
  • YQL:不再支持 html 表

    我使用 YQL 获取一些 html 页面以从中读取信息 从今天起我收到返回消息 不再支持 html 表 请参阅https policies yahoo com us en yahoo terms product atos yql index
  • 如何使用线程使 Windows 服务长期运行

    我有一个 win 服务托管一些我需要保持长时间运行的工作流程 一个 WorkflowApplication 和一个 WorkflowServiceHost 因为 OnStart 要求它完成并返回操作系统 所以我有一个在线程池中的另一个线程上
  • 西班牙语单词的正则表达式是什么?

    正则表达式语言使用 B 来包含 A Z a z 0 9 和 并且 b 被定义为单词边界 如何编写匹配所有有效西班牙语单词 包括诸如 等字符 的正则表达式 我正在使用 NET 使用西班牙语区域设置并使您的正则表达式区域设置敏感
  • Nginx - 特定位置的另一个根

    我在下面有一些静态 html 文件 var www project1 该项目的 Nginx 配置是 server name www project1 com project1 com root var www project1 locati
  • dc js 复合条形图 折线图

    我有一个 dc js 条形图 如下所示这个叉形小提琴 http jsfiddle net 89218vf1 3 此条形图将加载预定义的过滤器 例如本例中的 25 35 现在 我需要显示一个与条形图复合的折线图 突出显示带有高低线的过滤数据