首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Flot画布插件

如何使用Flot画布插件
EN

Stack Overflow用户
提问于 2013-05-23 20:01:35
回答 1查看 5.5K关注 0票数 2

我正在用Flot构建一个Rails 3.2.11应用程序。我想要渲染我的斑纹图在PDF使用对虾。我的Flot图表在浏览器中呈现的很好。我可以创建对虾PDF很好(虽然还没有与图表图像)。

我想使用Flot画布插件在画布上呈现我的轴等等,所以当我使用.getCanvas().toDataURL()方法将图像数据Ajax到服务器时,它们就会包括在内,但我似乎无法让它工作。

我使用的是jquery.flot.min.js 0.8.0和jquery.flot.canvas.min.js (没有显示版本)。在Chrome控制台中,我看到两者都在加载。

我的咖啡记录是这样的:

代码语言:javascript
复制
temp_plot = $.plot $("#barchart"), [
    data: $("#barchart").data("bardata")
    bars:
      show: true
      barWidth: (365/12)*24*60*60*1000*0.8
      align: 'center'
  ],
    xaxis:
      mode: "time"
      timeformat: "%b"
      tickSize: [1, "month"]
    yaxis:
      position: 'right'
      labelWidth: '40'       
      reserveSpace: true
    canvas: true

barchart_canvas = temp_plot.getCanvas()

我能够看到Ajax的有效载荷,它确实是Flot图表画布,只是没有轴,等等,我很感激任何建议。谢谢!

为了更清楚起见,Javascript的代码如下所示:

代码语言:javascript
复制
var barchart_canvas, temp_plot;

temp_plot = $.plot($("#barchart"), [
  {
    data: $("#barchart").data("bardata"),
    bars: {
      show: true,
      barWidth: (365 / 12) * 24 * 60 * 60 * 1000 * 0.8,
      align: 'center'
    }
  }
], {
  xaxis: {
    mode: "time",
    timeformat: "%b",
    tickSize: [1, "month"]
  },
  yaxis: {
    position: 'right',
    labelWidth: '40',
    reserveSpace: true
  },
  canvas: true
});

barchart_canvas = temp_plot.getCanvas();

更新-成功

我将Flot更新为0.8.1,并将jquery.flot.canvas.js文件包含在0.8.1 .zip存档中。(我在使用jquery.flot.js 0.8.1的Flot 0.8.0插件时遇到了一些奇怪的渲染行为,所以要小心。)

现在我的斧子在画布上渲染。太棒了!感谢佛洛特众神!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-23 20:47:44

您的选项看起来还不错,假设(我不熟悉CoffeeScript)最后一点应该是缺少花括号。

但是,Flot版本不能是1.1;最新版本是0.8.1,jquery.flot.canvas.min.js是在0.8.0中引入的。所以你要么使用错误的版本,要么使用不支持画布插件的Flot衍生工具。

请注意,画布插件目前只影响轴;图例仍然以HTML呈现。对呈现画布上所有内容的完整支持将在0.9版中出现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16722858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档