小编Tra*_*vis的帖子

从饼图的交叉过滤器维度返回多个值

我正在使用 dc.js 来显示饼图。我在饼图中看到的所有示例都包含返回单个值的交叉过滤器维度

var quarter = ndx.dimension(function (d) {
                var month = d.dd.getMonth();
                if (month <= 3)
                    return "Q1";
                else if (month > 3 && month <= 5)
                    return "Q2";
                else if (month > 5 && month <= 7)
                    return "Q3";
                else
                    return "Q4";
            });
            var quarterGroup = quarter.group().reduceSum(function (d) {
                return d.volume;
            });
Run Code Online (Sandbox Code Playgroud)

生成的饼图将包含 4 个可能的值 Q1、Q2、Q3 和 Q4。

我需要一个饼图来显示一个返回多个值的维度。例如,用户可以在一个属性中使用一组主题。在饼图中,我需要显示所有可能的主题,因此这意味着我需要返回数组中的所有主题。

即类似的东西:

var subjects = ndx.dimension(function (d) {
           return d.subjectArray
        });
       var subjectGroup = subjects.group()
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为它会拆分饼图以显示所有不同类型的数组列表,而不是按其内容显示。

我已经在这个问题上工作了一段时间,但找不到解决方案。dc.js 和 crossfilter 甚至可以做到这一点吗?

javascript d3.js crossfilter dc.js

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

d3 linechart - 在y轴上显示0而不传入所有点?

我有一个折线图.其目的是显示给定时间段内每个用户的交易量.

为此,我将获取所有用户交易的日期.我正在研究这个例子:http://bl.ocks.org/mbostock/3884955并让折线图很好.

我的x轴是时间,y轴是交易数.我遇到的问题是在没有活动时显示日期.

假设我周二有4笔交易,周四有5笔交易.我需要证明周三有0笔交易.由于我的数据库中没有数据明确说明用户在Wedensday上没有进行任何交易,我是否需要在星期三时间(以及所有其他时间,具体取决于时间范围)传递0值?或者我可以用d3做到吗?我似乎无法找到适合我的问题的任何例子.

linechart d3.js

4
推荐指数
1
解决办法
2225
查看次数

是否可以使用javascript获取外部css文件的内容以添加到svg文件?

我需要获取外部css文件的内容才能将其添加到svg.

我正在寻找的实际上是css的toString方法.这可能吗?我还没有找到解决方案.

这是解决方案xml我正在寻找svg:

 <?xml version="1.0" standalone="no"?>
    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
      "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
    <svg xmlns="http://www.w3.org/2000/svg" version="1.1"
         width="10cm" height="5cm" viewBox="0 0 1000 500">
      <defs>
        <style type="text/css"><![CDATA[
          rect {
            fill: red;
            stroke: blue;
            stroke-width: 3
          }
        ]]></style>
      </defs>
      <rect x="200" y="100" width="600" height="300"/>
    </svg>
Run Code Online (Sandbox Code Playgroud)

我尝试使用外部链接,但它没有呈现样式:

<?xml version="1.0" standalone="no"?>
<?xml-stylesheet href="mystyle.css" type="text/css"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
     width="10cm" height="5cm" viewBox="0 0 1000 500">
  <rect x="200" y="100" width="600" height="300"/>
</svg>
Run Code Online (Sandbox Code Playgroud)

编辑:我本应该添加这个原创 我在浏览器中有svg渲染,因为它可以访问svg.

我需要做的是将svg发送到服务器进行进一步处理(转换格式,保存到数据库..).问题是由于css不包含在svg xml中,因此样式丢失了.我需要像上面的第一个代码块一样将css添加到svg本身,这样我就能保留样式.

javascript css svg

2
推荐指数
1
解决办法
2176
查看次数

从grails服务调用phantom.js

我需要从grails服务调用一个phantom.js脚本来创建一个我可以缓存的PNG图像.

我用幻像和grails看到的所有例子都涉及使用幻像进行测试,所以我不确定如何从服务中管理它.

从grails服务调用脚本时最好的做法是什么?

它使用自定义脚本根据传入的URL创建图像.

这将是命令行上的equivelant:

./phantomjs createImage.js http://www.toBeConcerted.com output.png

grails phantomjs

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

标签 统计

d3.js ×2

javascript ×2

crossfilter ×1

css ×1

dc.js ×1

grails ×1

linechart ×1

phantomjs ×1

svg ×1