在酒窝中显示之前操作数据
Manipulating data prior to display in dimplejs
我发现酒窝js中的气泡系列在缩放方面是错误的,因为它使用半径而不是面积,这使得一个数据点和另一个数据点之间的差异比看起来要大得多。
解决此问题的一种方法是将给定属性的根平方到"y"轴,但我不知道这是否可能与酒窝一起使用。请问有人可以帮忙吗?这是我的代码:
// First one is the code without squaring z.
var svg = dimple.newSvg("#chartContainer", 500, 500);
d3.csv("xyz.csv", function (data) {
var chart = new dimple.chart(svg, data);
chart.addCategoryAxis("x", "x");
chart.addMeasureAxis("y", "y");
chart.addMeasureAxis("z", "z");
chart.addSeries(null, dimple.plot.bubble);
chart.draw();
});
// Second block is supposed to be with squared z.
var svg2 = dimple.newSvg("#chartContainer2", 500, 500);
d3.csv("xyz.csv", function (data) {
var chart2 = new dimple.chart(svg2, data);
chart2.addCategoryAxis("x", "x");
chart2.addMeasureAxis("y", "y");
// How to manipulate 'z' data here before passing it to the code below?
chart2.addMeasureAxis("z", "zsquare");
mySeries = chart2.addSeries(null, dimple.plot.bubble);
chart2.draw();
mySeries.shapes.selectAll("circle").attr("r", 3);
});
为了测试,csv 文件可以是这样的:
x,y,z,zsquare
1,1,1,1
2,2,2,1.414
3,3,3,1.732
4,4,4,2
5,5,5,2.236
您可以使用
map
函数来修改data
。 例如:
// Second block is supposed to be with squared z.
var svg2 = dimple.newSvg("#chartContainer2", 500, 500);
d3.csv("xyz.csv", function (data) {
data = data.map(function(datum) {
if(datum.zsquare) {
datum.zsquare = datum.zsquare * 2; // Manipulate your zsquare here
}
return datum;
});
var chart2 = new dimple.chart(svg2, data);
chart2.addCategoryAxis("x", "x");
chart2.addMeasureAxis("y", "y");
chart2.addMeasureAxis("z", "zsquare");
mySeries = chart2.addSeries(null, dimple.plot.bubble);
chart2.draw();
mySeries.shapes.selectAll("circle").attr("r", 3);
});
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何确定javascript已经完成了某些操作.ios上的
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- 从JavaScript访问struts操作中的属性
- fluxxor向一个flux实例添加一组以上的操作
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 操作放置在画布上的元素之间的连接
- 使用“+="操作人员
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- Jquery未定义函数正在停止其他操作
- 如何操作iframe之外的元素
- javascript对象操作:根据指定条件选择属性
- jQuery:暂停按钮可以暂停所有其他操作
- 用于选择/文本框操作的JavaScript
- Google 脚本:用于创建日历活动的脚本运行时不会出错,但不会执行任何操作
- 通过javascript操作图像,非常简单
- 将文本框中的值用于按钮窗体操作上的变量
- 当通过AJAX调用时,控制器操作不会执行
- 多于两个操作数的OR操作