TLDR:有没有人有protovis和D3.js的经验来阐明两者之间的差异?
过去两周我一直在玩protovis,到目前为止一直很棒.除了现在我似乎已经用动画打了一个砖墙.
protovis:http://vis.stanford.edu/protovis/
我想做一些非常简单的动画但是使用protovis感觉不那么直观 - 我开始认为protovis从来就不是真的意味着动画.所以,我开始关注D3.js:
http://mbostock.github.com/d3/ex/stack.html
它看起来非常相似,但是:
任何人都可以阐明任何其他差异吗?
我非常感谢任何和所有的投入
我有一个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事件.
D3.js是否能够支持醉酒的工具提示?如果可能,有人可以给我看一个例子.谢谢.
我正在使用protovis库(http://mbostock.github.com/protovis/)绘制图形.
我上传了我正在使用的代码,以防有人想看看它:http:
//jsfiddle.net/zobel/brEAD/
这是我的问题:在Firefox下,当我使用鼠标滚轮放大或缩小时,我的应用程序不会捕获一些鼠标滚轮事件,而是由Firefox本身捕获.结果是我最终得到了缩放和页面滚动的混合.您可以通过缩小Firefox窗口来测试这一点,直到滚动条变为可见.
在Opera下不会发生此问题.为什么会这样,我该如何解决?
非常感谢提前.
正如标题所要求的那样,
这个+标志意味着<script type="text/javascript+protovis">什么?
有什么好材料吗?
我正在使用Protovis Arc布局,我想在符合数据集中定义的'value'属性的节点之间对链接进行着色.我该如何访问它?
数据集定义如下:节点:... {nodeName:"Books"} ...
链接:... {来源:1,目标:4,价值:20} ...
arc.link.add(pv.Line).strokeStyle(function(d)d.value> 10?"#cc0000":"#eeeeee"); - 不起作用
我打算使用Polymaps.org库(与Protovis结合)来创建一个漂亮的基于矢量的世界地图.但是,示例(http://polymaps.org/ex/world.html)使用了专题制图中的GeoJSON,但国家/地区是按名称而不是按其2位数国家/地区代码编码的.
当我对数据进行配对时,我对"俄罗斯"与"俄罗斯共和国"等问题存在疑问.有人知道使用ISO 2或3位数代码的国家的GeoJSON文件吗?使用这些名字似乎很疯狂.
任何其他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(点击"图库")
再次感谢!
我正要为我的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不存在问题.适用于所有图书馆:)
我正在动态地将一些社交网络数据加载到我想要使用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) protovis ×10
javascript ×6
d3.js ×2
firefox ×2
jquery ×2
svg ×2
flot ×1
geojson ×1
html ×1
mousewheel ×1
printing ×1
prototypejs ×1
scroll ×1
tipsy ×1