我是D3的新手。js目前正在为我的一个项目开发一个折线图。我在这里引用了文档和示例,并在这里创建了自己的版本。现在,我计划在这里添加两个交互式功能:
在图表的鼠标上方绘制一条到最近数据点的垂直线
为了使此功能更加清晰,请参考此示例。
以下是我尝试的,来自一个建议:
svg.append("g") // creating new 'group' element
.selectAll('rect') // adding a rectangle for the label
.selectAll('line'); // adding a line
但是,直线和矩形不会显示。我在谷歌上搜索了很多次,但没有白费。我错过了什么?
jsFiddle
//create groups for line and label (and invisible selection area)
var infos = svg.append('g')
.selectAll('rect')
.data(data)
.enter()
.append('g')
//move to datapoint location
.attr('transform',function(d,i){d.x = x(d.date) ; d.y = 0; return "translate(" + d.x + "," + d.y + ")";});
//create and select line "rectangles" (easier than doing actual lines)
infos.append("rect")
.attr('class','line')
.attr('height', height)
.attr('width', 1)
.attr('opacity',0);
//create and select line "rectangles" (easier than doing actual lines)
infos.append("rect")
.attr('class','area')
.attr('height', height)
//should probably do something to make sure they don't overlap, such as measure distance between neighbours and use that as width
.attr('width', width/data.length/2)
.attr('opacity',0)
//move so that the data point is in the middle
.attr('x',-width/data.length/4)
.on('mouseover', function(){
g_elem = this.parentNode;
d3.select(g_elem).selectAll(".line").attr("opacity",1);
})
.on('mouseout', function(){
g_elem = this.parentNode;
d3.select(g_elem).selectAll(".line").attr("opacity",0);
});
http://jsfiddle.net/SKb8W/7/
对于标签,以下是一个有用的示例:http://jsfiddle.net/WLYUY/5/(来自D3.js:使用元素位置而不是鼠标位置来定位工具提示?)
对于使用鼠标坐标,您可以执行以下操作:
var coordinates = [0, 0];
coordinates = d3.mouse(this);
var x = coordinates[0];
var y = coordinates[1];
(从D3中的鼠标位置开始)
目前,我有一张传单地图和一张D3图表,我可以在其中选择一个点,并获得折线图的相关数据。我可以在折线图中添加任意数量的线。要删除,我创建了一个html按钮,单击该按钮可以删除所有路径行。我遇到的问题是,一旦点击这个按钮,行就消失了,我就不能再添加更多了。有人知道如何解决这个问题吗?下面是代码: 这就是我实际划清界限的地方: 下面是单击按钮时调用的函数: 非常感谢!
我有以下代码为我绘制多段线,工作正常,但问题是它没有绘制交互式多段线,绘制的线缺少一些像素! 代码工作正常,绘制从一个地方到另一个地方的路线,但没有绘制交互式路线 我认为问题在于我的方法: 忽略标记,只是建议我添加交互式多段线?
我想创建一个包含三条线(男性、女性、未知)的折线图。这是我的数据示例: 是否有一个选项,在图中自动创建三行或我需要循环通过数据和创建三个跟踪自己?到目前为止,这是我的代码:
本文向大家介绍jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法,包括了jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法。分享给大家供大家参考,具体如下: 1、问题背景 设计一条折线图,但是图形中不用插件自带的颜色,需要自定义
我在v3.0.1中使用MPAndroidChart库。我每周有7个值显示在具有下图的线形图上。 如何在 xAxis 网格线上设置每个值? IAxisValueFormatter中的每个标签值为: 0.0 周四 1.16666666 周五 2.3333333 周六 3.5 周日 4.6666665 周一 5.833333 周二 6.9999995 周三 我的图表设置如下: 每个数据集如下: 显示数据
基本折线图 <template> <ve-line :data="chartData" :settings="chartSettings"></ve-line> </template> <script> export default { data () { this.chartSettings = {} return { chartData: { columns: ['日期',