display x-axis and y-axis lines with out the grid lines using flot

前端 未结 5 1608
你的背包
你的背包 2020-12-01 16:58

I am using flot to display bar charts. When I set the tickLength to 0, it hides the vertical and horizontal lines but it also hides the x-axis and y-axis lines. I need the x

相关标签:
5条回答
  • 2020-12-01 17:33

    For the case of a (0,0) origin, you can fake the axes by just drawing bottom and left border lines:

    grid: {
        borderColor: 'black',
        borderWidth: {
            top: 0,
            right: 0,
            bottom: 2,
            left: 2
        },
        ...
    }
    
    0 讨论(0)
  • 2020-12-01 17:38

    This trickier than I thought it would be. The only thing I can come up with is to disable the border and axis lines, than add them back in manually:

    $(function() {
        var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]];
        $.plot($("#placeholder"),
          [{data: d2,
            bars: {
                show: true
            }}
          ],
          {
            xaxis: {
                tickLength: 0
            },
             yaxis: {
                tickLength: 0
            },
            grid: {
               borderWidth: 0,
               aboveData: true,
               markings: [ { xaxis: { from: 0, to: 10 }, yaxis: { from: 0, to: 0 }, color: "#000" },
                           { xaxis: { from: 0, to: 0 }, yaxis: { from: 0, to: 15 }, color: "#000" }]
            }
          }
        );
    });
    

    Produces:

    enter image description here

    0 讨论(0)
  • 2020-12-01 17:41

    Try to color the lines in white (or your bg-color)

     yaxis: 
      . . .
      tickColor: "#cccccc" /* or better "#ffffff" */
      . . .
    
    0 讨论(0)
  • 2020-12-01 17:44

    Mark answer works but it's a little too hardcoded for his data. This one is a little better:

    $(function() {
        var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]];
        $.plot($("#placeholder"),
          [{data: d2,
            bars: {
                show: true
            }}
          ],
          {
            xaxis: {
                tickLength: 0
            },
             yaxis: {
                tickLength: 0
            },
            grid: {
               borderWidth: 0,
               aboveData: true,
               markings: [ { yaxis: { from: 0, to: 0 }, color: "#000" },
                           { xaxis: { from: 0, to: 0 }, color: "#000" }]
            }
          }
        );
    });
    

    Still if your chart starts at a value different than 0 you have to manually change the markings.

    0 讨论(0)
  • 2020-12-01 17:48

    Setting

    xaxis: { tickLength: 0 }, yaxis: { tickLength: 0 }

    will also hide the grid lines.

    0 讨论(0)
提交回复
热议问题