javascript-如何在特定位置绘制SVG形状(取决于xAxis)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-如何在特定位置绘制SVG形状(取决于xAxis),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1328字,纯文字阅读大概需要2分钟。
内容图文
![javascript-如何在特定位置绘制SVG形状(取决于xAxis)](/upload/InfoBanner/zyjiaocheng/675/bd0b875b3bf74f9ab729bbbe203bb4ce.jpg)
我在Highcharts中有一个图表(更具体地说:这是Highstocks图表,烛台类型),现在我想向其中添加一些SVG形状.
我知道有一个渲染器对象,但是它只接受相对于画布的x和y坐标.
我需要在特定时间(xAxis)添加一些形状,所以我要么需要它接受x / y值作为图表坐标(而不是画布坐标)(我显然怀疑这是可能的),或者我们需要获取图表内特定点的x / y画布位置.
有什么办法吗?
解决方法:
要绘制SVG形状并随缩放移动,我有两种方法,第一种方法只是将其作为一种想法,看看您是否能比我做得更好,第二种方法总是可行
第一种方式
获取此形状的x坐标:
如您所知highstock使用unix时间,所以假设您想在X data = 1326844540000处添加形状,现在根据series [i]得到1326844540000的x位置,我将假设您有一个系列,因此请使用series [0] ,这是x-coor的获取方式:
$.each(chart.series[0].points, function(index,value){
if(value.category == 1326847170000 )
console.log(this.plotX) ;
});
现在使用.append()添加您的SVG:
var myrect = $(".highcharts-series-group") ;
$(myrect).append(<your svg goes here with
x ="you have it from the previous code " y="")
此代码将放入(xAxis-events-setExtremes)内,并同时加载
推荐方式
推荐的保证方法是创建一个标志,为其提供一个ID,然后您可以通过编辑该标志的attr()来完成所需的操作
更新
>如果在缩放时默认将标记添加到图表标记时进行转换,则不必担心每次rangeselector或缩放更改时都会移动元素.
>如果您提供标志ID,则可以使用jquery轻松选择
>看到这个:
>突出显示的< g>中的第四条路径标签是您要编辑以绘制所需内容的内容
内容总结
以上是互联网集市为您收集整理的javascript-如何在特定位置绘制SVG形状(取决于xAxis)全部内容,希望文章能够帮你解决javascript-如何在特定位置绘制SVG形状(取决于xAxis)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。