我想用Protovis创建可视化,但用CoffeeScript而不是JavaScript编写(部分用于(x)->x函数表示法,但也有其他原因)
这可能吗?我<script>会使用什么标签,是否有必要的脚本标签的特殊顺序?
谢谢.
编辑:如果可能的话,我想避免手动编译步骤.
javascript visualization data-visualization protovis coffeescript
我正在尝试绘制两个谷歌树图并将它们保留在标签中并收到错误:
<width>不允许svg属性的负值
只有一个树图可见.我假设另一个人无法完成绘画.控制台中没有其他错误描述.(谷歌浏览器).
我的代码:http: //jsfiddle.net/tTqjr/
Fortran编程语言可以使用哪些可视化开源或自由软件库?对于Fortran,有没有类似于Python的MatPlotLib?如果没有,大多数科学家不仅需要可视化来生成一些输出,还需要调查数据趋势,尽管计算速度众所周知,但Fortran仍然缺少这些趋势.
注意:
此问题旨在发现Fortran的可用或计划可用的图形库.显然不会比较不同编程语言中的不同包.
灵活性,输出质量,交互性,多维度,自由/开源等是有待发现的因素.
更新的问题 我已将此更新为更简洁..:
在这个小提琴:http://jsfiddle.net/pX2Xb/4/我有一些raphael代码,可以在页面上绘制3000个圆圈.然后它会尝试在10秒内一次动画所有圆圈(更改填充颜色),这会产生笨重的视觉动画.将圆圈数更改为20以查看更平滑的动画以进行比较.
我的问题是(a)我是否有可能使3000个元素的更新更顺畅;(b)如果是这样,那么代码看起来是什么样的?
一些说明:
较旧的细节,以防万一
我正在创建一个美国县的大型地图,其中有超过3000个; 我正在使用这个维基百科svg文件获取相关的SVG路径来创建地图,并使用RaphaelJs渲染地图.
因此,我最终得到了超过3000条类似于以下内容的陈述:
var cc_02130 = rsr.path("M 140.66674,.... 320.11635"); // county path
cc_02130.attr({id: '02130',.. .."marker-start": 'none'}); // init attrs
Run Code Online (Sandbox Code Playgroud)
我也创建了一个Paper.set()对象来保存所有这些元素:
var myset = paper.set([cc_56039, cc_56040, cc_56041 ...])
Run Code Online (Sandbox Code Playgroud)
忘记这里实际生成的文件非常大,我非常感谢有关如何对上面详述的对象量进行更改的建议,这是快速且合理的CPU明智(可能是一个很大的问题).
我肯定愿意改变我的代码/对象的结构,只要我可以单独更改特定县的属性.例如,我希望能够在一秒钟或两秒内为每个路径内容应用不同的颜色(对于所有3000+).
我面临的挑战不是如何应用颜色变化,动画等,而是如何快速有效地完成这项工作.现在,如果我循环并对3000多个对象进行更改,我的机器会对我尖叫; 作为替代方案,我正在使用setTimeout将更改分解为更小的块(可能一次只有10个,延迟40毫秒).超过3000项,这变得非常慢,仍然使用了大量的CPU.
谢谢,奥利
我在Python中有一个很大的代码库,以及大量的测试用例.我的代码覆盖率结果(只是语句覆盖率)的格式为file-linenumber - >覆盖此行的测试用例.
什么是立即可视化这些数据的好方法?是否有一些Python(或任何其他语言)模块可以接受我拥有的结果并轻松地可视化数据?我不介意可视化/分析工具是否需要花钱.
是否有一个工具可以从源代码中自动创建haskell数据模型的可视化(类图表类型)?向下遍历数据构造函数和记录的东西,显示类型和字段的树,并输出带有框等的漂亮图像.
因此,它会分析源代码,例如:
data Type1 = Type1 Int Type2
data Type2 = Type2 { v1 :: Type3, v2 :: Type4, v3 :: String }
data Type3 = Type3 { v4 :: Double }
data Type4 = Type4 { v4 :: Type3 }
Run Code Online (Sandbox Code Playgroud)
并且它将生成一个图表,其中Type1显示2个属性并链接到Type2,显示3个属性及其名称并链接到Type3和Type4等.
例如,如果每个像素有200个样本(垂直线),我应该从200个样本的那个部分中绘制最低和最高样本吗?或者我应该绘制低和高样本的平均值?也许两者都有不同的颜色?
我正在尝试使用在此处找到的JavaScript InfoVis Toolkit:JS InfoVis ToolKit创建强制定向图。我们实际上并不想使用JSON将数据“馈送”到图形中,而是希望手动添加节点。
我整理了以下代码-但是,当我尝试绘制图形时,在jit.js(var root = aGraph.getNode(id);)的7118行中找不到我的根节点。我已经省略了我的ForceDirected选项的详细信息-但这些不应影响结果。
fd = new $jit.ForceDirected({...})
//Create main node
var rootNode = { id: "root", name: "Actors", data: { "$color": "#557EAA"} }
fd.root = rootNode;
fd.graph.addNode(rootNode);
$.each(array, function (index, art) {
var pubId = art.pubMedId.toString();
var labelText = "Article " + pubId;
var node = { id: pubId.toString(), name: labelText, data: { "$color": "#557EAA"} }
//Create Nodes -- connect them to main node for now
fd.graph.addNode(node);
fd.graph.addAdjacence(rootNode, node, {}); …Run Code Online (Sandbox Code Playgroud)
我已经访问过D3js中添加和删除节点,但它没有解决我的问题.
第一次有一些节点,然后我想动态添加节点,并且想要节点已经存在它更新节点并且不重复.
现在它正在复制不更新现有的复制品.
这里是主要代码和完整代码,工作小提琴就在这里
//handles node elements
var circles = svg.selectAll('g');
//update graph (called when needed)
function restart() {
/***************************************
Draw circles (nodes)
****************************************/
circles = circles.data(data.nodes);
var g = circles.enter()
.append("g")
.attr("class", "gNode")
.attr("cursor", "pointer")
.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; })
.call(force.drag);
g.append("circle")
.attr({
"class": "node",
"cx": function(d) { return rScale(d.NumOccurrences); },
"cy": function(d) { return rScale(d.NumOccurrences); },
"r": function(d) { return rScale(d.NumOccurrences); }
})
.style("fill", function(d, i) …Run Code Online (Sandbox Code Playgroud)