javascript – jquery flot:显示所有数据和Y轴悬停

前端之家收集整理的这篇文章主要介绍了javascript – jquery flot:显示所有数据和Y轴悬停前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
问候
我是一个 jquery新手,并试图解决一个问题,使用官方 flot示例中的“turning-series.html”版本,
1-我想知道如何从选择的显示中切换它以显示我的数据集中的所有内容.
2-如何更改我的选项,当鼠标悬停在该点上时,它会显示Y轴的值?
//My data instance:
var datasets = {
        "1st input": {
            label: "1st input",data: [
            [1.250208e+12,1339],[1.2502944e+12,1316],[1.2503808e+12,1379],[1.2504672e+12,1223],]
        },"2nd input": {
            label: "2nd input",data: [
            [1.2503808e+12,1324],};


//old one,instead of displaying the selected ones from choiceContainer,I want to display all.
    function showWhole() {
        var data = [];
        choiceContainer.find("option:selected").each(function () {
            var key = $(this).attr("name");
            if (key && datasets[key])
                data.push(datasets[key]);
        });

        if (data.length > 0)
            $.plot($("#placeholder"),data,{
                yaxis: {},xaxis: { mode: "time",minTickSize: [1,"day"],timeformat: "%d/%m/%y"},"lines": {"show": "true"},"points": {"show": "true"},clickable:true,hoverable: true
            });
    }

问候

解决方法

我从FLOT网站上采用了turn-series.html的示例并进行了一些更改.将以下内容复制并粘贴到新的HTML文件中并运行它 – 在Firefox中运行,未在IE中测试.
<html>
 <head>
    <Meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Flot Examples</title>
    <link href="http://people.iola.dk/olau/flot/examples/layout.css" rel="stylesheet" type="text/css"></link>
    <!--[if IE]><script language="javascript" type="text/javascript" src="http://people.iola.dk/olau/flot/excanvas.pack.js"></script><![endif]-->
    <script language="javascript" type="text/javascript" src="http://people.iola.dk/olau/flot/jquery.js"></script>
    <script language="javascript" type="text/javascript" src="http://people.iola.dk/olau/flot/jquery.flot.js"></script>
    <style> #tooltip { font-size:8pt; } </style>
 </head>
    <body>
    <h1>Flot Examples</h1>

    <div id="placeholder" style="width:600px;height:300px;"></div>

    <p>Here is an example with real data: military budgets for
        varIoUs countries in constant (2005) million US dollars (source: <a href="http://www.sipri.org/">SIPRI</a>).</p>


<script id="source" language="javascript" type="text/javascript">
$(function () {
    var datasets = {
        "usa": {
            label: "USA",data: [[1988,483994],[1989,479060],[1990,457648],[1991,401949],[1992,424705],[1993,402375],[1994,377867],[1995,357382],[1996,337946],[1997,336185],[1998,328611],[1999,329421],[2000,342172],[2001,344932],[2002,387303],[2003,440813],[2004,480451],[2005,504638],[2006,528692]]
        },"russia": {
            label: "Russia",218000],203000],171000],42500],37600],36600],21700],19200],21300],13600],14000],19100],23600],25100],26100],31100],34700]]
        },"uk": {
            label: "UK",62982],62027],60696],62348],58560],56393],54579],50818],50554],48276],47691],47529],47778],48760],50949],57452],60234],60076],59213]]
        },"germany": {
            label: "Germany",55627],55475],58464],55134],52436],47139],43962],43238],42395],40854],40993],41822],41147],40474],40604],40044],38816],38060],36984]]
        },};


    // define an empty array
    var data = [];

    // use this existing loop...
    var i = 0;
    $.each(datasets,function(key,val) {
       val.color = i;
       ++i;

       // ... and add this line - so the data array is populated (row by row)
        data.push(datasets[key]);
    });

    // plot the graph with the newly populated data array
    $.plot($("#placeholder"),{
                yaxis: { min: 0 },xaxis: { tickDecimals: 0 },grid: { hoverable: true,clickable: true },points: { show: true },lines: { show: true },});


    // add some hovering logic to each point...
     var prevIoUsPoint = null;
    $("#placeholder").bind("plothover",function (event,pos,item) {
        $("#x").text(pos.x.toFixed(2));
        $("#y").text(pos.y.toFixed(2));

            if (item) {
                if (prevIoUsPoint != item.datapoint) {
                    prevIoUsPoint = item.datapoint;
                    $("#tooltip").remove();
                    var x = item.datapoint[0].toFixed(2),y = item.datapoint[1].toFixed(2);
                    showTooltip(item.pageX,item.pageY,item.series.label + " of " + x + " = " + y);
                }
            }
            else {
                $("#tooltip").remove();
                prevIoUsPoint = null;            
            }

    });

    // show the tooltip
    function showTooltip(x,y,contents) {
        $('<div id="tooltip">' + contents + '</div>').css( {
            position: 'absolute',display: 'none',top: y - 35,left: x + 5,border: '1px solid #fdd',padding: '2px','background-color': '#fee',opacity: 0.80
        }).appendTo("body").fadeIn(200);
    }

});
</script>

</body>
</html>

猜你在找的jQuery相关文章