标签: protovis

Protovis vs D3.js

TLDR:有没有人有protovis和D3.js的经验来阐明两者之间的差异?

过去两周我一直在玩protovis,到目前为止一直很棒.除了现在我似乎已经用动画打了一个砖墙.

protovis:http://vis.stanford.edu/protovis/

我想做一些非常简单的动画但是使用protovis感觉不那么直观 - 我开始认为protovis从来就不是真的意味着动画.所以,我开始关注D3.js:

http://mbostock.github.com/d3/ex/stack.html

它看起来非常相似,但是:

  • 看起来更轻巧
  • 似乎适合与其他DOM元素以及SVG交互
  • 似乎是为了添加动画

任何人都可以阐明任何其他差异吗?

我非常感谢任何和所有的投入

javascript protovis d3.js

84
推荐指数
3
解决办法
2万
查看次数

打印时触发调整大小事件

我有一个div,我使用protovis创建一个图表.div有width: 100%和,height: 100%并且创建图表的代码使用$('#chart').width()$('#chart').height()在渲染时获取div的大小,并用图表填充页面.我在窗口上捕获resize事件并调整div和图表,以便在窗口调整大小时调整大小.

现在我需要打印.我希望当浏览器呈现打印机的页面时,它会发出调整大小,但它不会,至少Safari和Firefox不会.Chrome做了一些奇怪的事情,它只调整高度但不调整宽度.有没有办法在打印之前触发此行为?

编辑.考虑以下html

<html>
  <head>
    <title>Resize</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript">
      $(document).ready(function() {
        $('#chart').resize(function() {
          $(this).html('chart size is ' + $('#chart').width() + ' x ' + $('#chart').height());
        })        
      });
      $(window).resize(function() {
        $('.resizable').resize();
      });
    </script>
    <style type="text/css">
      #chart { width: 100%; height: 100%; background: gray; border: 1px solid black;}
    </style>
  </head>
  <body>

    <div id="chart" class="resizable">
    </div>

  </body>
</html>        
Run Code Online (Sandbox Code Playgroud)

当我调整窗口大小时,div的内容会发生变化.当我打印它时,渲染过程不会触发resize事件.

html javascript printing jquery protovis

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

D3.js醉意的工具提示

D3.js是否能够支持醉酒的工具提示?如果可能,有人可以给我看一个例子.谢谢.

javascript prototypejs protovis tipsy d3.js

7
推荐指数
2
解决办法
7527
查看次数

为什么Firefox没有将所有鼠标滚轮事件传递给我的javascript应用程序?

我正在使用protovis库(http://mbostock.github.com/protovis/)绘制图形.
我上传了我正在使用的代码,以防有人想看看它:http:
//jsfiddle.net/zobel/brEAD/

这是我的问题:在Firefox下,当我使用鼠标滚轮放大或缩小时,我的应用程序不会捕获一些鼠标滚轮事件,而是由Firefox本身捕获.结果是我最终得到了缩放和页面滚动的混合.您可以通过缩小Firefox窗口来测试这一点,直到滚动条变为可见.
在Opera下不会发生此问题.为什么会这样,我该如何解决?
非常感谢提前.

javascript firefox scroll mousewheel protovis

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

<script type ="text/javascript + protovis"> +符号是什么意思?

正如标题所要求的那样,

这个+标志意味着<script type="text/javascript+protovis">什么?

有什么好材料吗?

javascript protovis

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

访问Protovis行中的value属性

我正在使用Protovis Arc布局,我想在符合数据集中定义的'value'属性的节点之间对链接进行着色.我该如何访问它?

数据集定义如下:节点:... {nodeName:"Books"} ...

链接:... {来源:1,目标:4,价值:20} ...

arc.link.add(pv.Line).strokeStyle(function(d)d.value> 10?"#cc0000":"#eeeeee"); - 不起作用

protovis

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

我在哪里可以找到使用2位或3位国家代码的国家/地区的SVG或GeoJSON?

我打算使用Polymaps.org库(与Protovis结合)来创建一个漂亮的基于矢量的世界地图.但是,示例(http://polymaps.org/ex/world.html)使用了专题制图中的GeoJSON,但国家/地区是按名称而不是按其2位数国家/地区代码编码的.

当我对数据进行配对时,我对"俄罗斯"与"俄罗斯共和国"等问题存在疑问.有人知道使用ISO 2或3位数代码的国家的GeoJSON文件吗?使用这些名字似乎很疯狂.

任何其他SVG类型文件也是有用的.我可以创建一个,但我觉得它必须存在,我只是不知道如何找到它.

svg country-codes geojson protovis

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

Firefox中的内联SVG

我有点难过这个.我使用Protovis(一个JS库)渲染SVG可视化,它在Chrome和Firefox中运行良好.我将渲染的SVG保存在我的服务器上,并尝试使用PHP函数在"图库"视图中重新渲染它,这在Firefox中失败了.我所看到的只是SVG中的文本,而不是SVG.

我保存完整的svg内容,如下所示:

<svg height="220" width="880" stroke-width="1.5" stroke="none" fill="none" font-family="sans-serif" font-size="10px"><g transform="translate(30, 10)"><line stroke-width="1" 
Run Code Online (Sandbox Code Playgroud)

我尝试过使用,<object>但所有这一切都是提示Firefox下载一个它找不到的插件.

它适用于FF4测试版,但我不明白为什么它甚至在Firefox 3.6中都不起作用.这是我应该放弃的吗?你可以在这里看到一个演示:

http://www.rioleo.org/protoviewer(点击"图库")

再次感谢!

firefox svg protovis

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

Flot和Internet Explorer 9?

我正要为我的ASP.NET应用程序选择一个图表库.

我关注flot,stackoverflow也使用了flot.当我去这里的flot示例时:http://people.iola.dk/olau/flot/examples/

它们看起来很棒.但不是在IE9中.我在IE9中看不到任何内容.如果我把我的IE9放入IE8或IE7模式,它的工作原理.如果我在SO上转到此处的用户页面

/sf/users/1585951/?tab=reputation

它也适用于IE9.我错过了什么?是否有秘密的SupportIE9 =真正的开关?

我看过protovis作为另一种选择. http://vis.stanford.edu/protovis/ex/

这在IE9中看起来很棒,但如果我把浏览器放到IE7或IE8中,它会再次令人沮丧.

提示?如何使这些工作或跨IE版本的替代品?Firefox不存在问题.适用于所有图书馆:)

javascript flot protovis internet-explorer-9

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

通过JQuery使用带有动态加载数据的Protovis

我正在动态地将一些社交网络数据加载到我想要使用protovis进行可视化的网页中.(实际上,数据是在两遍过程中加载的 - 首先是从Twitter获取用户名列表,然后是社交列表连接是从Google Social API中获取的.)protovis代码似乎在事件循环中运行,这意味着数据加载代码需要在此循环之外.

在"打开"protovis事件循环之前,如何将数据加载到页面并解析它?目前,我认为有一种竞争条件,即protovis试图可视化尚未加载和解析的网络数据?

<html><head><title></title> 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script> 
<script type="text/javascript" src="../protovis-3.2/protovis-r3.2.js"></script>
<script type="text/javascript"> 

//getNet is where we get a list of Twitter usernames
function getNet(){

  url="http://search.twitter.com/search.json?q=jisc11&callback=?"
  $.getJSON(url,function(json){
    users=[]
    uniqusers={}
    for (var u in json['results']) {
      uniqusers[json['results'][u]['from_user']]=1
    }
    for (var uu in uniqusers)
      users.push(uu)
    getConnections(users)
  })
}

//getConnections is where we find the connections between the users identified by the list of Twitter usernames
function getConnections(users){
  //Google social API limits lookup to 50 URLs; need to page this...
  if …
Run Code Online (Sandbox Code Playgroud)

jquery protovis

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