8

To make it short:

I want to draw a line graph with JavaScript without using a (open-source) library. All I work with is JavaScript and jQuery (no-plugins!).

How can I manage this?

6
  • 1
    Why don't you want to use plugins? Google Charts is very powerfull tool Commented Aug 15, 2012 at 15:28
  • What browser compatibility do you need? Is SVG okay? Canvas? Either of these would make it fairly easy, but would be incompatible with older browsers. If you need full cross-browser compatibility, you'll want to use a library like Raphael for it, otherwise you're in for a world of hurt. Commented Aug 15, 2012 at 15:31
  • @Diode sure, canvas and svg will do Commented Aug 16, 2012 at 8:30
  • @SDC Chrome or IE8/9 should support it Commented Aug 16, 2012 at 8:31
  • 1
    @keinabel - if you need IE8 support, then you can't use Canvas or SVG. Commented Aug 16, 2012 at 10:21

2 Answers 2

9

I think you're overlooking some very powerful libraries, however if you're determined to do this yourself you're going to need to use HTML5 and the Canvas object. Have a look at this great tutorial to get you started. Here's a snapshot of what you'll need to get to grips with:

$(document).ready(function() {
    var graph = $('#graph'),
        c = graph[0].getContext('2d');

    c.lineWidth = 2;
    c.strokeStyle = '#333';
    c.font = 'italic 8pt sans-serif';
    c.textAlign = "center";

    c.beginPath();
    c.moveTo(xPadding, 0);
    c.lineTo(xPadding, graph.height() - yPadding);
    c.lineTo(graph.width(), graph.height() - yPadding);
    c.stroke();
});
Sign up to request clarification or add additional context in comments.

3 Comments

Canvas isn't supported by IE8, which the OP states he needs to support. However, he's accepted the answer, so one assumes he's happy with it.
@SDC very good point, and IE9 is only available on Windows 7. The OP could use the explorercanvas which emulates the canvas' VML in older browsers (available at code.google.com/p/explorercanvas)
well yes he could use that.... except that he's set against using any libraries. I agree with you that he really ought to consider using one, because he's not going to get anywhere without one.
3

The best solution (besides external libraries) is probably the canvas, introduced in HTML5.

Here is a tutorial, and you can find much more information with Google.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.