从数组在d3中创建条形图时出现问题
Trouble creating a bar chart in d3 from an array
我有一个json文件,我循环遍历该文件以获取特定的键/值对。输出被推送到以下形式的数组:
var output = ["key1", "value1", "key2", "value2", ... "key(n)", "value(n)"]
我想做的是在d3.js中生成一个柱状图,其中键对应于条形标签,高度对应于值。
我正在为这个看似简单的任务而挣扎。如有任何建议,我们将不胜感激。
提前谢谢。
按如下方式构造输出数组可能更容易:
var output = [{"key": "key1", "value": "value1"}, {"key": "key2", "value": "value2"}, ...]
然后,在d3代码中,您可以使用这个this数组创建数据,并简单地返回适当的信息,这取决于您是否需要确定条形标签或其高度。这有道理吗?
例如,在编写条形标签时,它看起来像这样:
var labels = d3.selectAll("labels")
.data(output)
.enter()
.append("g")
.text( function(d,i) {
return d.key;
})
在不知道json文件的确切外观的情况下,我无法告诉您如何以这种形式构建输出数组,但假设您有一个看起来像的数组
var original_output = ["key1", "value1", "key2", "value2", ... "key(n)", "value(n)"]
你可以这样构造新的输出数组:
var new_output = [];
for (var i = 0; i < original_output.length; i=i+2) {
new_output.push({"key": original_output[i], "value": original_output[i + 1]})
}
此解决方案假设每对的密钥和值彼此正确,并且顺序正确。
相关文章:
- Chart.js 2.1.2条形图动画问题
- 从数组在d3中创建条形图时出现问题
- 为条形图定制Chart new.js的问题
- d3.js条形图问题
- 重绘后悬停在 ChartJS 条形图上的问题
- 规范化堆叠条形图绘图问题.无论数据如何,所有矩形均等划分
- 更新 D3 条形图时调用 svg 元素的宽度的问题
- 高图表条形图布局问题
- 使用交叉过滤器在 dc js 中对条形图的数据进行分组时遇到问题
- 条形图 d3.js 的颜色出现问题
- D3堆积条形图添加数据标签并解决D3标签放置问题
- 使用 D3 网格问题和控制台错误的分组条形图
- 使用 D3 对齐问题的多/分组条形图
- D3 分组条形图创建问题
- Dojo图表问题:使用数组的条形图(ClusteredColumns)
- JQPlot渲染垂直堆叠条形图和水平图例时出现问题
- Chrome中的粘性顶部条形图渲染问题
- 流程图问题连接条形图和线形图
- 谷歌条形图显示日问题
- Chartkick Rails 4条形图问题与多个图表