打印出jQuery flot graph

时间:2013-11-29 06:54:03

标签: javascript jquery canvas graph flot

我正在使用jQuery flot graph并想要打印图形(或至少是图像)。现在,在问这个问题之前,我做了很多研究以找到方法......我在堆栈溢出时提出了这个问题。

How to print flot graph

我实施了那里给出的技术。

现在,我能够获得图形的图像,但是我无法获得图形的内容,即我只是获得画布的简单背景而不是绘制在其上的区域。

下面的图片将清楚地解释这一点:

这就是我的图表...... This is what my graph looks like...

这就是我将其转换为图像后所得到的: enter image description here

我使用ToDataUrl进行转换,下面是我的代码:

  var somePlot = $.plot("#placeholder", [ [0,0],[10,10] ]);
  var canvas = somePlot.getCanvas();
  var img = canvas.toDataURL("image/png");
  document.write('<img src="'+img+'"/>');

在上面的代码中:

somePlot变量用于获取div内的画布,因为jquery flot在画布中实现了我无法使用其id直接访问的画面

任何帮助将不胜感激,谢谢...

1 个答案:

答案 0 :(得分:3)

您没有将图形转换为图像,而是将某些测试图形转换为空白。请参阅此fiddle(上图是使用绘图制作的,最下面的图是图像)。

如果您修复了测试数据,则会得到fiddle,它会在绘图部分和图像中显示图形。在此处修复数据意味着插入更多括号:

var somePlot = $.plot("#placeholder", [ [ [0,0], [10,10] ] ]);

PS:我的测试不使用插件将标签添加到画布,但是从你的图像中我发现你已经有了这个部分。