Gruff的介绍和文档都不怎么多,大部分都要靠自己看代码来猜怎么用,下面是部分的进阶内容,和收集的资料。以备自己和可能用到的XD参考
或者,我们可以先看看Gruff都可以干什么,然后有兴趣或者有需求的就可以接着看了。
# :background_colors => %w(black grey),
# :background_image => 'squirrel.png'
- Gruff::Line 就一般的线图 股市行情什么的可以用用
- Gruff::Pie Pie图 市场份额一类的比较方便
- Gruff::Bar 直方图 年份变化一类都可用
- Gruff:Area 面积图 似乎用处不大
- Gruff:Scene 场景图
- Gruff::Spider
- Gruff::Net
一些有用的参数:
# By default, labels are centered over the point they represent.
attr_accessor :center_labels_over_point
# Used internally for horizontal graph types.
attr_accessor :has_left_labels
# X轴坐标
attr_accessor :x_axis_label
# Y轴的坐标
attr_accessor :y_axis_label
# attr_accessor :x_axis_increment
# Manually set increment of the horizontal marking lines
attr_accessor :y_axis_increment
# Get or set the list of colors that will be used to draw the bars or lines.
attr_accessor :colors
# The large title of the graph displayed at the top
attr_accessor :title
# Font used for titles, labels, etc. Works best if you provide the full path to the TTF font file.
# RMagick must be built with the Freetype libraries for this to work properly.
#
# Tries to find Bitstream Vera (Vera.ttf) in the location specified by
# ENV['MAGICK_FONT_PATH']. Uses default RMagick font otherwise.
#
# The font= method below fulfills the role of the writer, so we only need
# a reader here.
attr_reader :font
attr_accessor :font_color
# Hide various elements
attr_accessor :hide_line_markers, :hide_legend, :hide_title, :hide_line_numbers
# Message shown when there is no data. Fits up to 20 characters. Defaults to "No Data."
attr_accessor :no_data_message
# The font size of the large title at the top of the graph
attr_accessor :title_font_size
# Optionally set the size of the font. Based on an 800x600px graph. Default is 20.
#
# Will be scaled down if graph is smaller than 800px wide.
attr_accessor :legend_font_size
# The font size of the labels around the graph
attr_accessor :marker_font_size
# The color of the auxiliary lines
attr_accessor :marker_color
# 设定可以显示的参考线数量
attr_accessor :marker_count
# You can manually set a minimum value instead of having the values guessed for you.
#这个很有用,我们当时就发现这里有问题
# Set it after you have given all your data to the graph object.
attr_accessor :minimum_value
# You can manually set a maximum value, such as a percentage-based graph that always goes to 100.
#
# If you use this, you must set it after you have given all your data to the graph object.
attr_accessor :maximum_value
# Set to false if you don't want the data to be sorted with largest avg values at the back.
attr_accessor :sort
# Experimental
attr_accessor :additional_line_values
# Experimental
attr_accessor :stacked
# Optionally set the size of the colored box by each item in the legend. Default is 20.0
#
# Will be scaled down if graph is smaller than 800px wide.
attr_accessor :legend_box_size
我们还用到了一个参数baseline_value,这个也郁闷了我们一段时间,设定这个值会确定一个基础线
class Gruff::Base
def setup_graph_measurements
# TODO Separate horizontal lines from line number labels so they
can be shown or hidden independently
# TODO Get width of longest left-hand vertical text label and
space left margin accordingly
unless @hide_line_markers
@graph_left = 130.0 # TODO Calculate based on string width of
labels
@graph_right_margin = 80.0 # TODO see previous line
@graph_bottom_margin = 400.0
else
@graph_left = @graph_right_margin = @graph_bottom_margin = 40
end
@graph_right = @raw_columns - @graph_right_margin
@graph_width = @raw_columns - @graph_left - @graph_right_margin
@graph_top = 150.0
@graph_bottom = @raw_rows - @graph_bottom_margin
@graph_height = @graph_bottom - @graph_top
end
def draw_label(x_offset, index)
return if @hide_line_markers
if !@labels[index].nil? && @labels_seen[index].nil?
#@d.fill = @marker_color
@d.font = @font if @font
@d.stroke = 'transparent'
@d.rotation = 90
@d.text_align( LeftAlign)
@d.font_weight = NormalWeight
@d.pointsize = scale_fontsize(@marker_font_size)
@d.gravity = NorthWestGravity #CenterGravity
@d = @d.annotate_scaled(@base_image,
1, 1000,
x_offset, @raw_rows -
(@graph_bottom_margin - 30),
@labels[index], @scale)
@d.rotation = -90
@labels_seen[index] = 1
end
end
end
- 大小: 57.4 KB
- 大小: 60 KB
- 大小: 48.2 KB
- 大小: 49.7 KB
- 大小: 48.4 KB
- 大小: 109.1 KB
- 大小: 45.4 KB
- 大小: 43.8 KB
- 大小: 75.5 KB
- 大小: 511.8 KB
分享到:
相关推荐
Ruby on Rails:部署Rails应用至Heroku.docx
Rails::API 移除了 ActionView 和其他一些渲染功能,不关心Web前端的开发者可更容易、快速地开发应用程序,因此运行速度比正常的 Rails 应用程序要快。 Rails::API 可以用来创建只提供API服务(API-Only)的 Rails ...
- **定义**:Rails是一种用于快速开发Web应用程序的开源框架,基于Ruby语言。 - **特点**:Rails遵循“约定优于配置”的原则,简化了Web应用的开发过程,使得开发者能够专注于业务逻辑而非框架本身。 #### 三、创建...
Ruby on Rails:Rails框架入门.docx
本书《Flexible Rails: Flex 3 on Rails 2》由Peter Armstrong撰写,旨在探讨如何结合使用Flex 3和Rails 2来开发高效的富互联网应用程序(Rich Internet Applications, RIA)。作者通过对Flex 3和Rails 2的概述以及...
Ruby on Rails:Rails与JavaScript集成.docx
《敏捷Web开发与Rails:程序指南 第四版》是一本深度探讨使用Ruby on Rails框架进行敏捷Web应用开发的专业书籍。本书旨在帮助开发者充分利用Rails 4的特性,提高开发效率,实现快速迭代和高质量的代码编写。 Rails是...
Ruby on Rails:Rails中的表单处理.docx
Ruby on Rails:Rails中的测试驱动开发.docx
Ruby on Rails:Rails中的控制器编写.docx
Ruby on Rails:Rails性能优化与缓存策略.docx
《Ruby on Rails: Up and Running》是一本针对初学者和有经验开发者的技术书籍,它深入浅出地介绍了如何使用Ruby on Rails框架构建Web应用程序。Ruby on Rails(简称Rails)是基于Ruby编程语言的一个开源Web应用框架...
GraphiQL-Rails 在 Ruby on Rails 中挂载 。 安装 添加到您的 Gemfile: gem "graphiql-rails" ... 您可以通过访问应用程序中的该路径来访问 GraphiQL。 graphql_path:是 GraphQL 端点的路径。 GraphiQL 将向此路
“开发人员的笔记本”记录了一些准则,技术和想法,这些准则,技术和想法将经典的面向对象的思想应用于Ruby on Rails应用程序。
安装将此行添加到您的应用程序的Gemfile中: gem 'swagger_yard-rails' 然后执行: $ bundle用法安装您的引擎# add to config/routes.rbmount SwaggerYard :: Rails :: Engine , at : "/swagger"为用户界面添加JS / ...
《学习Rails:构建图书应用》是一本面向初学者和进阶者的开源教程,旨在通过实践项目的方式教授Rails框架。RailsApps项目提供了一系列详尽的指南,帮助开发者掌握Rails开发的核心概念和技术。在这个教程中,我们将...
Rails 的骨骼Bones for Rails 打包了当前构建的,并将其中的适用部分插入到资产管道中,以帮助简化应用程序的设计。骨骼文档Bones 的文档网站正在开发中。 目前,可以在找到框架本身的所有文档。入门将此行添加到...
该宝石可让您轻松在Rails应用程序中使用 。 您的模型将使用唯一的短哈希,例如“ yLA6m0oM”,“ 5bAyD0LO”和“ wz3MZ49l”,而不是使用诸如1、2、3之类的序号的模型。 数据库仍然会使用整数,因此可以随时添加或...
对讲机在Rails应用程序中安装对讲的最简单方法。 要与对讲REST API进行交互,请使用intercom宝石( ) 需要Ruby 2.0或更高版本。安装将此添加到您的Gemfile中: gem "intercom-rails" 然后运行: bundle install从记...
围绕maintan的最佳实践,工具和方法的研究项目,并开发大型Ruby on Rails应用程序 介绍 受到社区的启发。 该社区开始是对和更大的.NET Framework社区建议的工具和指南日益感到沮丧的答案。 在Ruby on Rails社区中,...