首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flot "points“图表功能

Flot "points“图表功能
EN

Stack Overflow用户
提问于 2013-04-13 18:43:11
回答 2查看 790关注 0票数 0

有没有人能告诉我下面哪一种是可能的?

-1-我想在Flot中创建散点图,并相信通过"points“可以做到这一点。图表中的每个点都需要有自己的标签始终出现在图表中--也就是说,不仅仅是在悬停/鼠标悬停期间。我想这是很容易做到的吧?

有没有办法让每个数据点都有“两个”标签?换句话说,假设我想要绘制美国的城市和犯罪率的年复一年变化。我能有像“波士顿+5.3%”和“圣地亚哥-7.1%”这样的点数标签吗?(请记住,第二个值(犯罪率的变化)不是这两个轴的一部分。)

-3-如果上述情况可行,标签的第二部分(犯罪率的变化)是否可以根据该值进行颜色编码?例如,正犯罪率显示为红色,负犯罪率显示为绿色?

点的标签可以用作超链接吗?

-鼠标停留在这些点上时出现的悬停弹出窗口,是否能够包含比轴中包含的数据更多的数据?例如,如果我们想在工具提示中包含几个数据点,以便为用户提供更多信息,这是可能的吗?

如果您觉得有比flot更好的解决方案,也可以兼容IE8,请让我知道。

非常感谢你的帮助!

EN

回答 2

Stack Overflow用户

发布于 2013-04-14 04:10:06

Flot的默认选项不支持您要查找的内容。但是,该库确实提供了hooks,您可以使用它来扩展其基本功能。

您可以在draw或(更好) div钩子上注册一个函数,该钩子迭代您的数据并创建绝对定位的drawSeries元素作为每个点的标签。其他的一切-多个标签,颜色编码,超链接,等等,都是你把什么放到这些div中的问题。

票数 1
EN

Stack Overflow用户

发布于 2013-04-14 23:25:03

基于@DNS的想法,我做了一个简单的例子。在本例中,您将看到我将“标签”信息直接包含到数据数组中。如果存在此信息,代码将在带有标签的点旁边添加div (这是一个超链接)。我还没有把你愿望清单上的所有东西都编码,但希望这能让你继续下去。

小提琴here

代码语言:javascript
复制
$(function () {

     function divByPointHook(plot, canvascontext, series){
         $.each(series.data, function(){
             if (this.length == 3){
                 var divStr = '<div style="border:1px solid black; position:absolute; ';
                 var pos = plot.p2c({'x':this[0],'y':this[1]});
                 divStr += 'left:' + pos.left + 'px;';
                 divStr += 'top:' + pos.top + 'px; ">'
                 divStr += '<a href="#">'+this[2]+'</a>' + '</div>';
                $('#placeholder').append(divStr);   
             }
         });

     };

    var d1 = [[0,1,"one"],[3,8,"two"],[5,4,],[2,10],[1.2,9],[9,2],[46,41],
[22,14],[20,12,"three"],[20,25],[7,5],[18,11],[31,20],[50,40,"four"],[24,36],
[20,42],[33,41],[51,39],[11,28,"five"],[32,16],[38,40],[35,22],[41,30],
[21,18]];

    $.plot($("#placeholder"), [{
            data: d1,
            points: {
                radius: 3,
                show: true,
                fill: true
            }}],
           { hooks: { drawSeries: [divByPointHook] } }
    );

});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15986946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档