草庐IT

绘制图形

全部标签

javascript - d3.js 可见区域计算或如何绘制地理矩形

我想弄清楚如何正确计算可见区并使用d3.geo投影绘制它。在我的例子中,可见区域是光学相机平截头体现在,我有两个图,都代表视点的方位Angular和仰Angular,一个是日经投影(根据wiki)://thismagicnumberisexperimentallyfound//pixelsinonedegreeingnomonicprojectionchartwithscale1500varpx=26.8;下面的宽度和高度是光学相机视角,以方位Angular和仰Angular轴的度数表示varw=px*viewport.width;varh=px*viewport.height;d3.

javascript - IE6 在使用 excanvas 绘制图像时尝试安装缺少的 office 组件

我有一个使用excanvas绘制一些图像的页面。在IE6中测试新页面时,一台计算机尝试打开Office2000并安装缺少的组件。如果取消office2000安装,则会出现vml图像。这个问题只发生在我的一台测试机器上,但它仍然让我担心。有人在使用IE6和excanvas之前遇到过这个问题吗? 最佳答案 首先:以我的OSX/Linux背景,我根本不是IE6专家!:)也就是说:它看起来像一个MIME-Type对我来说是个问题。有没有办法将MIME类型关联到IE6中的应用程序?如果是,请比较两个IE6设置的设置并查找差异。

javascript - d3.js 中的图形方向和节点定位

多亏了这个早question,我在d3.js中使用强制布局生成了一个静态固定布局图,如下所示:我有两个具体问题来进一步自定义布局:首先,我注意到确定性地初始化节点位置(例如,在此处对Angular线完成,请参阅script了解详细信息)固定节点的位置,并且节点的方向似乎取决于此初始化以及尺寸力图*。我想知道如何使上图中的节点A、D、E、F、I水平对齐?换句话说,我想将图形的方向逆时针旋转大约45度。我尝试在中间水平初始化节点:nodes.forEach(function(d,i){d.x=w/size*i;d.y=h/2;});但是生成的输出中所有节点和边都水平放置在它们被初始化的位置

javascript - D3 绘制数据集的选择性部分

我有一个大型时间序列数据集需要绘制图表,我正在尝试使用D3来完成它。我计划让我的图形的x轴为时间,并允许图形在x方向上移动。我想让图表只加载/显示屏幕上当前时间范围内存在的点。例如,如果我的数据集有1-100次,但图形以显示的时间1-10开始,则图形应该只绘制1-10点。然后用户可能会向右移动并查看时间5-15,图表应相应更新。任何人都可以向我解释如何通过d3完成此操作吗?我很难理解从一次加载并立即绘制整个数据集到选择性地绘制数据子集。 最佳答案 我认为您正在寻找selection.filter()功能。例如你可以有:varallN

javascript - d3.js 缩放仅在光标位于图形像素上时有效

我正在尝试以最简单、最基本的方式在树状图上实现缩放功能,并且已经让它发挥作用。唯一的问题是缩放事件仅在光标位于边缘、节点或文本上时有效。当光标位于svg的任何部分时,如何允许缩放?varmargin={top:20,right:120,bottom:20,left:120},width=2000-margin.right-margin.left,height=2000-margin.top-margin.bottom;varx=d3.scale.linear().domain([0,width]).range([0,width]);vary=d3.scale.linear().doma

javascript 从缓冲区将图像绘制到 html (nodejs/socket.io)

(对不起我的英语)嗨,我有一个用nodejs创建的应用程序,用于将图像数据推送到网页中。使用socket.io将nodejs服务器的数据推送到网页此数据为完整图像,我尝试写入光盘以查看图像并且很好。数据被放入缓冲区以base64编码然后发送到网页,我尝试使用'data:image/png;base64,'+数据但什么也没发生……数据似乎是“完整的”,包括PNG图像的标题。服务器使用thrift与另一个客户端(在C++中)通信,该客户端创建图像并发送到nodejs-thrift服务器,当接收到图像时,nodejs-socket.io服务器推送到网页。一些代码:服务器端varhttp=re

javascript - 通过在它们周围徒手绘制来选择 SVG 元素

我正在做一个项目,我想在一些SVG元素周围画一条线,以便选择区域内的对象。这是我现在的截图。我已经使用Paint添加了线条,以便完全清楚我想要实现的目标。我想选择绘制的圆圈内的两个rect。我看到了一些必须解决的步骤:在mousedown处创建一个path元素并记录鼠标移动直到mouseup关闭路径,以防用户没有画圆查找完全或部分在圆圈内的svg元素您看到了哪些方法,您对如何着手有什么建议吗?我正在使用D3.js.这slide(作者MikeBostock,D3的创建者)可能值得一看。 最佳答案 我会执行以下步骤:获取手绘形式的aab

javascript - 绘制多条实时线

我想使用JSON文件绘制多条实时线。我基本上是从网站检索JSON文件,获取时间数据(以秒为单位的持续时间),将它们转换为分钟并将它们推送到数据数组中。此代码每秒检查一次JSON文件。我想添加尽可能多的行。例如,我想添加数据数组中元素的平均值(平均持续时间)并将其绘制在同一平面上。我试图添加另一个“线”和“路径”变量,但我无法同时绘制它。数据数组是一个空数组,开头有44个元素,每次代码检查JSON文件时,它都会用检索到的持续时间数据替换这些零。这是我只画一条线的代码。functiongraph(){varn=43,duration=1000,now=newDate(Date.now()-

javascript - 如何在 Leaflet map 上打印/显示/绘制 MultiPolygon GeoJSON

我正在尝试在Leafletmap中显示GeoJSONMultiPolygon对象。我从PostgreSQL数据库中以JSON格式获取它,然后将其转换为GeoJSON。我已经在GeoJSONLint中验证了deMultiPolygon对象没关系:但我无法在我的应用程序中完成此操作=(这是我的代码:$http.get(URI_SERVICE+"buscar-clase/"+JSON.stringify(params)).success(function(data){console.log(L.multiPolygon(data.coordinates).toGeoJSON());adaLa

javascript - ChartJs Canvas 在更改图形类型时显示以前的图形

我遇到了一个独特的事件,当用户从下拉列表中进行选择时,如果您在Canvas上扫描,图表会发生变化,那么之前的图表会像幽灵一样出现在背景中。我知道你可以使用graph.destroy()之类的东西,但我不确定这是否合适以及将它放在哪里。更新图表的代码varctx=document.getElementById("myChart").getContext("2d");ctx.canvas.width=600;ctx.canvas.height=200;functionupdateChart(){//ctx.canvas.destroy();vardetermineChart=$("#cha