代码之家  ›  专栏  ›  技术社区  ›  RichH

在RubyonRails Web应用程序中,您首选的生成图表的方法是什么?

  •  76
  • RichH  · 技术社区  · 17 年前

    我想在我的RubyonRails Web应用程序中添加一些饼图、条形图和散点图。我希望它们是非活动的,易于添加,并且不会引入太多开销。

    你会推荐什么图表解决方案?
    它的缺点是什么(需要javascript、flash、昂贵等)?

    30 回复  |  直到 17 年前
        1
  •  59
  •   Clinton Dreisbach    17 年前

    Google Charts 如果你不想使用flash,这是一个很好的选择。它本身很容易使用,但是对于Rails,它更容易使用 gchartrb 宝石。一个例子:

    GoogleChart::PieChart.new('320x200', "Things I Like To Eat", false) do |pc| 
      pc.data "Broccoli", 30
      pc.data "Pizza", 20
      pc.data "PB&J", 40 
      pc.data "Turnips", 10 
      puts pc.to_url 
    end
    
        2
  •  15
  •   Ben Crouse    17 年前

    如果您不需要图像,并且可以解决需要javascript的问题,那么您可以尝试类似jquery插件的客户端解决方案。 flot .

        3
  •  13
  •   Doug Moore    17 年前

    我是个迷 Gruff Graphs 但是 Google Charts 如果您不介意依赖外部服务器,也很好。

        4
  •  8
  •   Thilo    13 年前

    需要闪光灯和 不是免费的(虽然便宜): amcharts .

    我已经成功地使用了它并且喜欢它。不久前,我评估了许多选项并选择了它。然而,当时的谷歌图表并不像现在这样成熟。如果我现在要重新评估的话,我会首先考虑这一点。

        5
  •  7
  •   Matthias Winkelmann    17 年前

    还有 Scruffy . 我最近看了一下代码,似乎很容易修改/扩展。它产生SVG和(通过转换)PNG。

        6
  •  6
  •   David Heggie    17 年前

    你试过了吗 Google Charts API 是吗?-Web服务API实际上并不简单。它是免费的,易于实现,而且图表看起来也不太劣质。

        7
  •  6
  •   Clinton Dreisbach    17 年前

    Open Flash Chart II 是一个自由选择,提供非常好的输出。正如您所期望的,它确实需要闪存。

    Fusion Charts 更好些,不过是499美元。在研究这个的时候,我发现 a cut-down free version 这可能满足你的需要。

        8
  •  6
  •   Jerry Cheung    17 年前

    我投了第二票 flot . 最新版本允许你做一些动画和动作,我以前认为只有通过Flash才能做到。文档非常好。手工编写很简单,但是对于简单的情况,使用一个名为 flotilla . 你应该去看看 examples page 为了更好地了解它的能力。缩放和悬停功能尤其令人印象深刻。

        9
  •  4
  •   RichH    17 年前

    新的Google可视化似乎可以生成比Google图形更多样化、更美观、更具交互性的图表。

    http://code.google.com/apis/visualization/

        10
  •  4
  •   Steven Yue    13 年前

    Morris.js 是一个不错的开源软件。我想和海图比较一下。有一个新的伟大的视频教程 Railscasts

        11
  •  3
  •   RichH    17 年前

    我刚刚发现 ZiYa 制作一些非常性感的图表,并且是Rails特有的。

    缺点是它使用了flash,如果你不想让这些站点链接到xml/swf页面,那么每个站点需要花费50美元。

    [我还没有决定,但我想把它扔出去,以防人们投票表决]

        12
  •  3
  •   Brian Deterling    17 年前

    我在Java Web应用程序中广泛使用了融合图表,但是它应该与Rails一样工作,因为您只是通过HTML或JavaScript嵌入一个Flash并传递XML数据。这是一个巧妙的一揽子计划,他们的支持总是反应迅速。

        13
  •  3
  •   Nathan de Vries    17 年前

    你应该看看 Dmitry Baranovskiy's 调用了javascript库 Raphaël .

        14
  •  2
  •   delux247    17 年前

    谷歌图表是非常好的,但它不是一个只有Rails的解决方案。您只需使用您选择的编程语言来动态生成包含数据的URL,Google就会用图表返回一个漂亮的图像。

    http://code.google.com/apis/chart/

        15
  •  2
  •   Dan Harper    17 年前

    在过去,我决定自己动手(使用rvg/rmagick),主要是因为格鲁夫没有我想要的一切。缺点是发现和消除图形代码中的所有错误是一件痛苦的事情。这些天,Gruff是我的选择,因为它在定制和灵活性方面确实向前发展了。

    不过,标准粗俗的模板/颜色选择很差劲,所以你需要把手弄脏才能获得最佳效果。

        16
  •  2
  •   Laurent Farcy    17 年前

    关于 amcharts 有一个“免费”的版本,只有很少的限制可以生成flash图表,包括“chart by amcharts.com”所提到的。

    还有一个不错的插件, ambling ,这为您提供了一些帮助方法,可以轻松地将图表添加到视图中。请注意 amCharts.com reference documentation 仍然必须根据您的要求调整图表。

        17
  •  2
  •   Bryan Ward    16 年前

    谷歌图和粗哑图很棒,但有时它们缺少一些我需要的更科学的绘图功能。gnuplot有一个gem,可能对其中一些情况有帮助。

    http://rgplot.rubyforge.org/

        18
  •  2
  •   Clinton    14 年前

    我已经开始使用 protovis 用javascript生成SVG图表。我在Rails中的基本方法是拥有一个控制器,它将要绘制的数据返回为JSON,并使用一些JavaScript和Protovis将其收集起来。

    唯一的缺点是,完全的IE支持(因为它是基于SVG的)目前是不可用的直接开箱即用…然而,当前的补丁提供IE支持是一种公平的方式,可以找到其中的详细信息 here .

        19
  •  1
  •   Preston Lee    14 年前

    我个人更喜欢基于javascript的图表而不是flash。如果可以的话,也可以退房 High Charts . 一 Rails plugin 也有。

        20
  •  1
  •   Thilo    13 年前

    看起来GChartRB宝石不再被维护了。作者 points 这些宝石:

        21
  •  0
  •   AndrewR    17 年前

    我们通过对gnuplot进行解压来生成PNGS服务器端的图表。这是一个有点老的学校和图表不是交互式的,但它的工作和可缓存。

    (我们这样做的另一个原因是,我们可以在报告的PDF版本中放置完全相同的图表)。

        22
  •  0
  •   Tony Pitale    17 年前

    然而,这并不是一个特别的错误,它是一个相当巧妙的粗俗到javascript的端口: http://bluff.jcoglan.com/

        23
  •  0
  •   Jordi Bunster    17 年前

    ChartDirector . 不好看的API,但是很好,服务器端的图像结果。独立二进制。

        24
  •  0
  •   scottru    17 年前

    在fit&finish很重要的时候,我不喜欢使用谷歌图表。我发现用于调整大小的变量,尤其是不可预测的——图表自己做的事情。

    我还没有玩粗暴/虚张声势/等等,但对于一个更引人注目的项目,我不会使用谷歌图表。

        25
  •  0
  •   Thibaut Barrère    17 年前

    如果你想要非常性感的图表,易于生成,并且你可以启用flash,那么你一定要看看 maani.us xml/swf charts .

    它背后有一些XML构建器,您已经准备好了。

        26
  •  0
  •   Srividya Sharma    16 年前

    FusionCharts 是一个很好的制图产品。适用于RoR。他们的支持和论坛都很好。此产品的免费版本的图表和功能数量有限,但没有水印。

        27
  •  0
  •   amit_saxena    14 年前

    我刚开始在Rails3项目中使用谷歌图表。它既漂亮又干净,似乎是唯一一个基于GoogleVisualizationAPI的宝石。还有一些是非活动的,大多使用旧的谷歌图表API(2007-2008年发布)。

    https://github.com/mattetti/googlecharts

        28
  •  0
  •   RichH    12 年前

    D3 已成为我的首选方式,为Web应用添加好看的图表。您必须做一些其他框架所做的MROE工作,但是外观和控制比这更重要。

    我主要使用SVG,这意味着没有IE8,但这已不再是一个问题。

        29
  •  0
  •   usha    11 年前

    HighChart -用纯JavaScript编写的图表库

    宝石般 highchart-rails , lazy-high-chart 使与Rails的集成更容易

        30
  •  0
  •   ytbryan    10 年前

    gem 'chart' 使向Rails添加ChartJS和NVD3图表变得容易。

    推荐文章