Flot中的轴标签

时间:2011-04-06 08:10:23

标签: javascript flot

有谁知道如何在Flot中设置轴的标签或标题?

我已阅读API,但似乎没有该功能...

谢谢:)

9 个答案:

答案 0 :(得分:37)

没有内置的flot。

你最好的选择是通过定位的div来自己做,但如果你喜欢冒险,你可以查看issue(或原来的issue),看看其他人是如何处理它的

具体来说,有两个人最近对flot进行了与标签相关的修订:

https://github.com/RuiPereira/flot/raw/axislabels/jquery.flot.axislabels.js

http://github.com/xuanluo/flot-axislabels

答案 1 :(得分:36)

我正在使用此解决方法:

yaxis: {
tickFormatter: function(val, axis) { return val < axis.max ? val.toFixed(2) : "CZK/l";}
}

很简单,Y轴上的最大值被自定义字符串替换。我没有在X轴上进行测试,但我认为没有理由不这样做。

答案 2 :(得分:35)

无耻的自我插件:我修复并大大扩展了xuanluo的flot-axislabels插件:http://github.com/markrcote/flot-axislabels/据我所知,它是目前轴标签的最佳解决方案。

答案 3 :(得分:6)

我看到一个很好的建议是将图形放在3x3表格的中间。然后标签可以放在其他单元格中。

<table style="text-align:center">
  <tr>
    <td></td>

    <td>Plot Title Goes Here</td>

    <td> </td>
  </tr>

  <tr>
    <td>Y Axis Label</td>

    <td>
      <div id="graph here" style="width:600px;height:300px"></div>
    </td>

    <td></td>
  </tr>

  <tr>
    <td></td>

    <td>X Axis Label Goes Here</td>

    <td></td>
  </tr>

</table>

答案 4 :(得分:3)

用纯css求解2dims图(x和y轴)的例子。

Y轴:

#placeholder:after {
    content: 'Speed';
    position: absolute;
    top: 50%;
    left: -50px;
    font-weight: 600;
    /* Safari */
    -webkit-transform: rotate(-90deg);
    /* Firefox */
    -moz-transform: rotate(-90deg);
    /* IE */
    -ms-transform: rotate(-90deg);
    /* Opera */
    -o-transform: rotate(-90deg);
    /* Internet Explorer */
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}

X轴:

#placeholder:before {
    content: 'Time';
    position: absolute;
    bottom: -30px;
    left: 50%;
    font-weight: 600;
}

答案 5 :(得分:1)

jqPlot支持此功能,因为您可以使用替代

http://www.jqplot.com

答案 6 :(得分:1)

这个有修复使用多个轴,偏移效果也很好...... https://github.com/mikeslim7/flot-axislabels

答案 7 :(得分:0)

$("<div class='axisLabel yaxisLabel'></div>")
        .text("Pressure")
        .appendTo($("#yl_1"));

这也有效。

答案 8 :(得分:0)

我使用szpapas的想法。

我在它下面添加了更多的jquery代码来像这样覆盖x轴。

            $('div.flot-x-axis div.flot-tick-label.tickLabel:nth-child(1)').html("Berhad")
            $('div.flot-x-axis div.flot-tick-label.tickLabel:nth-child(2)').html("")
            $('div.flot-x-axis div.flot-tick-label.tickLabel:nth-child(3)').html("Sdn Bhd")
            $('div.flot-x-axis div.flot-tick-label.tickLabel:nth-child(4)').html("")
            $('div.flot-x-axis div.flot-tick-label.tickLabel:nth-child(5)').html("Enterprise")
            $('div.flot-x-axis div.flot-tick-label.tickLabel:nth-child(6)').html("")
            $('div.flot-x-axis div.flot-tick-label.tickLabel:nth-child(7)').html("Koperasi")