小编Kol*_*urs的帖子

如果有足够的空间,D3会将圆弧标签放在饼图中

我将在我的饼图(中心)的每个弧中放置一个文本元素 - 如下例所示:http: //bl.ocks.org/mbostock/3887235

但是,如果房间足够整个文本,我只会放置文本元素,所以我必须将我的文本元素的大小与每个弧中的"可用"空间进行比较.

我想我可以用getBBox()来获取文本尺寸...但是如何获得(和比较)每个弧中可用空间的尺寸.

谢谢...!

html javascript svg d3.js

8
推荐指数
1
解决办法
1万
查看次数

d3带有enter-update-exit逻辑的折线图

今天我使用enter-update-exit逻辑创建了一个简单的条形图 - 一切正常.现在我将使用折线图进行相同的操作 - 图表的整个数据集可以随时更改,因此我将顺利更新图表.我找不到一个使用折线图和enter-update-exit逻辑的好例子(或者我看错了).目前我必须记住,如果第一次调用图表或更新数据(数据已更改) - 这是我的脏版本:

   var channelGroup = d3.select(".ch1");

// init. Line Chart 
    if (firstLoad) {
    channelGroup
        .append('path')
        .attr("class", "line")
        .style("stroke", channel.Color)
        .transition()
        .ease("linear")
        .duration(animChart / 2)
        .attr('d', line(channel.DataRows));
}
// update Line Chart    
else {
    channelGroup
        .selectAll("path")
        .data([channel.DataRows])
        .transition()
        .ease("linear")
        .duration(animChart / 2)
        .attr("d", function (d) { return line(d); });
}  
Run Code Online (Sandbox Code Playgroud)

我怎么能以一种好的方式实现这个目标?... thx!

d3.js

8
推荐指数
1
解决办法
4429
查看次数

Android - 需要一些翻转动画

我正在开发一个Android应用程序来阅读"电表".用户进入计数器 - 应用程序计算消耗并将其发送到服务器.

柜台的表示应该看起来像旧的电表 老电表

我已将计数器集成为图像.我将有一个动画,如果用户输入一个数字(键盘),那么相关部分开始旋转到正确的数字位置.

例如:用户输入第一个数字的数字5,然后从0-5旋转数字.动画数字翻转到正确的位置.我怎样才能做到这一点?任何的想法?感谢你!!!

android android-animation

5
推荐指数
3
解决办法
7488
查看次数

D3动态重绘Y轴

我想创建一个具有多个(线性)轴的动态图。绘制轴后,我想(随着新数据的到来)更改Data Domain并重新绘制/更新轴。是否可以使用D3选择现有轴并执行此操作,还是必须在代码中明确保存每个轴?我希望我的问题不会引起混淆。

// init all Y-Axis
$.each(chart.YAxes, function (index) {
            var yScale, yAxis;
            yScale = d3.scale.linear().range([chartHeight, 0]);
            yScale.domain([this.YMin, this.YMax]);

            yAxis = d3.svg.axis()
                        .scale(yScale)
                        .ticks(10, this.Title)
                        .orient("left");

            d3Chart.append("g")
                   .attr("class", "yAxis " + "y" + this.ID)
                   .call(yAxis);
......

// update Y-Axis (after new data arrives...)
var myYAxis = d3.select(".y" + yAxis.ID);
var myScale = myYAxis. **// get Scale ??**
myScale.domain([newYMin, newYMax]);   
d3Chart.select(".y" + yAxis.ID)
            .transition().duration(300).ease("sin-in-out")
            .call(myYAxis);
Run Code Online (Sandbox Code Playgroud)

谢谢...!

d3.js

5
推荐指数
1
解决办法
3914
查看次数

标签 统计

d3.js ×3

android ×1

android-animation ×1

html ×1

javascript ×1

svg ×1