gruff 0.4.0-java
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +7 -0
- data/.travis.yml +14 -0
- data/Gemfile +10 -0
- data/History.txt +193 -0
- data/MIT-LICENSE +22 -0
- data/Manifest.txt +81 -0
- data/README.md +139 -0
- data/RELEASE.md +92 -0
- data/Rakefile +218 -0
- data/assets/bubble.png +0 -0
- data/assets/city_scene/background/0000.png +0 -0
- data/assets/city_scene/background/0600.png +0 -0
- data/assets/city_scene/background/2000.png +0 -0
- data/assets/city_scene/clouds/cloudy.png +0 -0
- data/assets/city_scene/clouds/partly_cloudy.png +0 -0
- data/assets/city_scene/clouds/stormy.png +0 -0
- data/assets/city_scene/grass/default.png +0 -0
- data/assets/city_scene/haze/true.png +0 -0
- data/assets/city_scene/number_sample/1.png +0 -0
- data/assets/city_scene/number_sample/2.png +0 -0
- data/assets/city_scene/number_sample/default.png +0 -0
- data/assets/city_scene/sky/0000.png +0 -0
- data/assets/city_scene/sky/0200.png +0 -0
- data/assets/city_scene/sky/0400.png +0 -0
- data/assets/city_scene/sky/0600.png +0 -0
- data/assets/city_scene/sky/0800.png +0 -0
- data/assets/city_scene/sky/1000.png +0 -0
- data/assets/city_scene/sky/1200.png +0 -0
- data/assets/city_scene/sky/1400.png +0 -0
- data/assets/city_scene/sky/1500.png +0 -0
- data/assets/city_scene/sky/1700.png +0 -0
- data/assets/city_scene/sky/2000.png +0 -0
- data/assets/pc306715.jpg +0 -0
- data/assets/plastik/blue.png +0 -0
- data/assets/plastik/green.png +0 -0
- data/assets/plastik/red.png +0 -0
- data/gruff.gemspec +36 -0
- data/init.rb +2 -0
- data/lib/gruff.rb +32 -0
- data/lib/gruff/accumulator_bar.rb +18 -0
- data/lib/gruff/area.rb +51 -0
- data/lib/gruff/bar.rb +108 -0
- data/lib/gruff/bar_conversion.rb +46 -0
- data/lib/gruff/base.rb +1169 -0
- data/lib/gruff/bezier.rb +46 -0
- data/lib/gruff/bullet.rb +111 -0
- data/lib/gruff/deprecated.rb +39 -0
- data/lib/gruff/dot.rb +125 -0
- data/lib/gruff/line.rb +242 -0
- data/lib/gruff/mini/bar.rb +37 -0
- data/lib/gruff/mini/legend.rb +109 -0
- data/lib/gruff/mini/pie.rb +36 -0
- data/lib/gruff/mini/side_bar.rb +35 -0
- data/lib/gruff/net.rb +138 -0
- data/lib/gruff/photo_bar.rb +100 -0
- data/lib/gruff/pie.rb +124 -0
- data/lib/gruff/scatter.rb +264 -0
- data/lib/gruff/scene.rb +209 -0
- data/lib/gruff/side_bar.rb +138 -0
- data/lib/gruff/side_stacked_bar.rb +97 -0
- data/lib/gruff/spider.rb +131 -0
- data/lib/gruff/stacked_area.rb +67 -0
- data/lib/gruff/stacked_bar.rb +57 -0
- data/lib/gruff/stacked_mixin.rb +23 -0
- data/lib/gruff/themes.rb +102 -0
- data/lib/gruff/version.rb +3 -0
- data/rails_generators/gruff/gruff_generator.rb +63 -0
- data/rails_generators/gruff/templates/controller.rb +32 -0
- data/rails_generators/gruff/templates/functional_test.rb +24 -0
- data/test/gruff_test_case.rb +155 -0
- data/test/image_compare.rb +58 -0
- data/test/output/accum_bar.png +0 -0
- data/test/output/area_keynote.png +0 -0
- data/test/output/area_keynote_small.png +0 -0
- data/test/output/area_many.png +0 -0
- data/test/output/area_many_areas_small.png +0 -0
- data/test/output/area_tiny.png +0 -0
- data/test/output/area_wide.png +0 -0
- data/test/output/bar2_wrapped_legend_16_400.png +0 -0
- data/test/output/bar2_wrapped_legend_16_800.png +0 -0
- data/test/output/bar2_wrapped_legend_30_400.png +0 -0
- data/test/output/bar2_wrapped_legend_30_800.png +0 -0
- data/test/output/bar2_wrapped_legend_4_400.png +0 -0
- data/test/output/bar2_wrapped_legend_4_800.png +0 -0
- data/test/output/bar2_wrapped_legend__400.png +0 -0
- data/test/output/bar2_wrapped_legend__800.png +0 -0
- data/test/output/bar_background_gradient_bottom_top.png +0 -0
- data/test/output/bar_background_gradient_left_right.png +0 -0
- data/test/output/bar_background_gradient_right_left.png +0 -0
- data/test/output/bar_background_gradient_top_bottom.png +0 -0
- data/test/output/bar_background_gradient_topleft_bottomright.png +0 -0
- data/test/output/bar_background_gradient_topright_bottomleft.png +0 -0
- data/test/output/bar_formatted_numbers.png +0 -0
- data/test/output/bar_keynote.png +0 -0
- data/test/output/bar_keynote_small.png +0 -0
- data/test/output/bar_long_legend_text.png +0 -0
- data/test/output/bar_manual_colors.png +0 -0
- data/test/output/bar_marker_shadow.png +0 -0
- data/test/output/bar_nearly_zero_max_10.png +0 -0
- data/test/output/bar_no_legend.png +0 -0
- data/test/output/bar_no_line_markers.png +0 -0
- data/test/output/bar_no_title.png +0 -0
- data/test/output/bar_no_title_or_legend.png +0 -0
- data/test/output/bar_odeo.png +0 -0
- data/test/output/bar_one_value.png +0 -0
- data/test/output/bar_pos_neg.png +0 -0
- data/test/output/bar_rails_keynote.png +0 -0
- data/test/output/bar_set_absolute_trunc.png +0 -0
- data/test/output/bar_set_label_stagger_height.png +0 -0
- data/test/output/bar_set_legend_box_size_lg.png +0 -0
- data/test/output/bar_set_legend_box_size_sm.png +0 -0
- data/test/output/bar_set_marker.png +0 -0
- data/test/output/bar_set_trailing_dots_trunc.png +0 -0
- data/test/output/bar_spacing_full.png +0 -0
- data/test/output/bar_spacing_half.png +0 -0
- data/test/output/bar_spacing_none.png +0 -0
- data/test/output/bar_tall_graph.png +0 -0
- data/test/output/bar_tall_graph_small.png +0 -0
- data/test/output/bar_themed.png +0 -0
- data/test/output/bar_title_margin.png +0 -0
- data/test/output/bar_value_labels.png +0 -0
- data/test/output/bar_wide_graph.png +0 -0
- data/test/output/bar_wide_graph_small.png +0 -0
- data/test/output/bar_wrapped_legend_16_400.png +0 -0
- data/test/output/bar_wrapped_legend_16_800.png +0 -0
- data/test/output/bar_wrapped_legend_30_400.png +0 -0
- data/test/output/bar_wrapped_legend_30_800.png +0 -0
- data/test/output/bar_wrapped_legend_4_400.png +0 -0
- data/test/output/bar_wrapped_legend_4_800.png +0 -0
- data/test/output/bar_wrapped_legend__400.png +0 -0
- data/test/output/bar_wrapped_legend__800.png +0 -0
- data/test/output/bar_x_y_labels.png +0 -0
- data/test/output/bar_y_increment_1.png +0 -0
- data/test/output/bar_y_increment_2.0.png +0 -0
- data/test/output/bar_y_increment_20.png +0 -0
- data/test/output/bar_y_increment_5.png +0 -0
- data/test/output/bar_zero_marker_count.png +0 -0
- data/test/output/bar_zero_spacing.png +0 -0
- data/test/output/bezier.png +0 -0
- data/test/output/bezier_2.png +0 -0
- data/test/output/bezier_3.png +0 -0
- data/test/output/bullet_greyscale.png +0 -0
- data/test/output/bullet_no_options.png +0 -0
- data/test/output/dot.png +0 -0
- data/test/output/dot_manual_colors.png +0 -0
- data/test/output/dot_nearly_zero_max_10.png +0 -0
- data/test/output/dot_no_legend.png +0 -0
- data/test/output/dot_no_line_markers.png +0 -0
- data/test/output/dot_no_title.png +0 -0
- data/test/output/dot_no_title_or_legend.png +0 -0
- data/test/output/dot_one_value.png +0 -0
- data/test/output/dot_pos_neg.png +0 -0
- data/test/output/dot_set_legend_box_size_lg.png +0 -0
- data/test/output/dot_set_legend_box_size_sm.png +0 -0
- data/test/output/dot_set_marker.png +0 -0
- data/test/output/dot_small.png +0 -0
- data/test/output/dot_tall_graph.png +0 -0
- data/test/output/dot_tall_graph_small.png +0 -0
- data/test/output/dot_themed.png +0 -0
- data/test/output/dot_wide_graph.png +0 -0
- data/test/output/dot_wide_graph_small.png +0 -0
- data/test/output/dot_x_y_labels.png +0 -0
- data/test/output/dot_y_increment_1.png +0 -0
- data/test/output/dot_y_increment_2.0.png +0 -0
- data/test/output/dot_y_increment_20.png +0 -0
- data/test/output/dot_y_increment_5.png +0 -0
- data/test/output/enhancements-1.png +0 -0
- data/test/output/enhancements.png +0 -0
- data/test/output/line_all_neg.png +0 -0
- data/test/output/line_all_neg_400.png +0 -0
- data/test/output/line_all_neg_no_max.png +0 -0
- data/test/output/line_baseline.png +0 -0
- data/test/output/line_hang_value.png +0 -0
- data/test/output/line_hide_dots.png +0 -0
- data/test/output/line_hide_lines.png +0 -0
- data/test/output/line_jruby_error.png +0 -0
- data/test/output/line_large.png +0 -0
- data/test/output/line_large_baseline.png +0 -0
- data/test/output/line_legend_at_bottom.png +0 -0
- data/test/output/line_many.png +0 -0
- data/test/output/line_many_lines_small.png +0 -0
- data/test/output/line_many_numbers.png +0 -0
- data/test/output/line_marker_label_accuracy.png +0 -0
- data/test/output/line_more_sets_than_colors.png +0 -0
- data/test/output/line_no_data.png +0 -0
- data/test/output/line_no_data_msg.png +0 -0
- data/test/output/line_no_data_other.png +0 -0
- data/test/output/line_no_hide.png +0 -0
- data/test/output/line_no_legend.png +0 -0
- data/test/output/line_no_line_markers.png +0 -0
- data/test/output/line_no_title.png +0 -0
- data/test/output/line_nothing_but_the_graph.png +0 -0
- data/test/output/line_one_value.png +0 -0
- data/test/output/line_one_value_array.png +0 -0
- data/test/output/line_pos_neg.png +0 -0
- data/test/output/line_pos_neg_400.png +0 -0
- data/test/output/line_similar_high_end_values.png +0 -0
- data/test/output/line_similar_high_end_values_with_floor.png +0 -0
- data/test/output/line_small_small_zero.png +0 -0
- data/test/output/line_small_values.png +0 -0
- data/test/output/line_small_values_small.png +0 -0
- data/test/output/line_small_zero.png +0 -0
- data/test/output/line_some_nil_points.png +0 -0
- data/test/output/line_theme_37signals_.png +0 -0
- data/test/output/line_theme_37signals_400.png +0 -0
- data/test/output/line_theme_keynote_.png +0 -0
- data/test/output/line_theme_keynote_400.png +0 -0
- data/test/output/line_theme_odeo_.png +0 -0
- data/test/output/line_theme_odeo_400.png +0 -0
- data/test/output/line_theme_rails_keynote_.png +0 -0
- data/test/output/line_theme_rails_keynote_400.png +0 -0
- data/test/output/line_tiny.png +0 -0
- data/test/output/line_transparent.png +0 -0
- data/test/output/line_very_small.png +0 -0
- data/test/output/line_wide_graph.png +0 -0
- data/test/output/line_wide_graph_small.png +0 -0
- data/test/output/line_xy.png +0 -0
- data/test/output/line_xy_pairs.png +0 -0
- data/test/output/line_y_axis_increment.png +0 -0
- data/test/output/mini_bar.png +0 -0
- data/test/output/mini_pie.png +0 -0
- data/test/output/mini_pie_right_legend.png +0 -0
- data/test/output/mini_side_bar.png +0 -0
- data/test/output/mini_side_bar_multi_color.png +0 -0
- data/test/output/net_dots_tiny.png +0 -0
- data/test/output/net_large.png +0 -0
- data/test/output/net_many.png +0 -0
- data/test/output/net_many_nets_small.png +0 -0
- data/test/output/net_no_data.png +0 -0
- data/test/output/net_no_data_msg.png +0 -0
- data/test/output/net_no_data_other.png +0 -0
- data/test/output/net_no_legend.png +0 -0
- data/test/output/net_no_net_markers.png +0 -0
- data/test/output/net_no_title.png +0 -0
- data/test/output/net_nothing_but_the_graph.png +0 -0
- data/test/output/net_similar_high_end_values.png +0 -0
- data/test/output/net_small.png +0 -0
- data/test/output/net_small_small.png +0 -0
- data/test/output/net_small_small_zero.png +0 -0
- data/test/output/net_small_zero.png +0 -0
- data/test/output/net_wide_graph.png +0 -0
- data/test/output/net_wide_graph_small.png +0 -0
- data/test/output/pie_equal.png +0 -0
- data/test/output/pie_grey.png +0 -0
- data/test/output/pie_keynote.png +0 -0
- data/test/output/pie_keynote_small.png +0 -0
- data/test/output/pie_legend.png +0 -0
- data/test/output/pie_legend_small.png +0 -0
- data/test/output/pie_nearly_equal.png +0 -0
- data/test/output/pie_one_val.png +0 -0
- data/test/output/pie_pastel.png +0 -0
- data/test/output/pie_simple.png +0 -0
- data/test/output/pie_wide.png +0 -0
- data/test/output/pie_wrapped_legend_16_400.png +0 -0
- data/test/output/pie_wrapped_legend_16_800.png +0 -0
- data/test/output/pie_wrapped_legend_30_400.png +0 -0
- data/test/output/pie_wrapped_legend_30_800.png +0 -0
- data/test/output/pie_wrapped_legend_4_400.png +0 -0
- data/test/output/pie_wrapped_legend_4_800.png +0 -0
- data/test/output/pie_wrapped_legend__400.png +0 -0
- data/test/output/pie_wrapped_legend__800.png +0 -0
- data/test/output/pie_zero.png +0 -0
- data/test/output/scatter_all_neg.png +0 -0
- data/test/output/scatter_all_neg_400.png +0 -0
- data/test/output/scatter_basic.png +0 -0
- data/test/output/scatter_many.png +0 -0
- data/test/output/scatter_no_data.png +0 -0
- data/test/output/scatter_no_data_msg.png +0 -0
- data/test/output/scatter_no_data_other.png +0 -0
- data/test/output/scatter_no_hide.png +0 -0
- data/test/output/scatter_no_labels.png +0 -0
- data/test/output/scatter_no_legend.png +0 -0
- data/test/output/scatter_no_line_markers.png +0 -0
- data/test/output/scatter_no_title.png +0 -0
- data/test/output/scatter_nothing_but_the_graph.png +0 -0
- data/test/output/scatter_pos_neg.png +0 -0
- data/test/output/scatter_pos_neg_400.png +0 -0
- data/test/output/scatter_wide_graph.png +0 -0
- data/test/output/scatter_wide_graph_small.png +0 -0
- data/test/output/scene_hazy_night.png +0 -0
- data/test/output/scene_not_hazy_day.png +0 -0
- data/test/output/scene_partly_cloudy_day.png +0 -0
- data/test/output/scene_stormy_day.png +0 -0
- data/test/output/scene_stormy_night.png +0 -0
- data/test/output/side_bar.png +0 -0
- data/test/output/side_bar_data_range.png +0 -0
- data/test/output/side_bar_labels.png +0 -0
- data/test/output/side_bar_spacing_full.png +0 -0
- data/test/output/side_bar_spacing_half.png +0 -0
- data/test/output/side_bar_spacing_none.png +0 -0
- data/test/output/side_stacked_bar_keynote.png +0 -0
- data/test/output/side_stacked_bar_keynote_small.png +0 -0
- data/test/output/side_stacked_bar_labels.png +0 -0
- data/test/output/side_stacked_bar_long_label.png +0 -0
- data/test/output/side_stacked_bar_wide.png +0 -0
- data/test/output/spider_37signals.png +0 -0
- data/test/output/spider_equal.png +0 -0
- data/test/output/spider_keynote.png +0 -0
- data/test/output/spider_legend.png +0 -0
- data/test/output/spider_legend_small.png +0 -0
- data/test/output/spider_lots_of_data.png +0 -0
- data/test/output/spider_lots_of_data_normal_names.png +0 -0
- data/test/output/spider_nearly_equal.png +0 -0
- data/test/output/spider_no_axes.png +0 -0
- data/test/output/spider_no_background.png +0 -0
- data/test/output/spider_no_print.png +0 -0
- data/test/output/spider_overlay_1.png +0 -0
- data/test/output/spider_overlay_2.png +0 -0
- data/test/output/spider_rotation.png +0 -0
- data/test/output/spider_small.png +0 -0
- data/test/output/spider_wide.png +0 -0
- data/test/output/spider_zero.png +0 -0
- data/test/output/stacked_area_keynote.png +0 -0
- data/test/output/stacked_area_keynote_small.png +0 -0
- data/test/output/stacked_bar_keynote.png +0 -0
- data/test/output/stacked_bar_keynote_small.png +0 -0
- data/test/output_java/accum_bar.png +0 -0
- data/test/output_java/area_keynote.png +0 -0
- data/test/output_java/area_keynote_small.png +0 -0
- data/test/output_java/area_many.png +0 -0
- data/test/output_java/area_many_areas_small.png +0 -0
- data/test/output_java/area_tiny.png +0 -0
- data/test/output_java/area_wide.png +0 -0
- data/test/output_java/bar2_wrapped_legend_16_400.png +0 -0
- data/test/output_java/bar2_wrapped_legend_16_800.png +0 -0
- data/test/output_java/bar2_wrapped_legend_30_400.png +0 -0
- data/test/output_java/bar2_wrapped_legend_30_800.png +0 -0
- data/test/output_java/bar2_wrapped_legend_4_400.png +0 -0
- data/test/output_java/bar2_wrapped_legend_4_800.png +0 -0
- data/test/output_java/bar2_wrapped_legend__400.png +0 -0
- data/test/output_java/bar2_wrapped_legend__800.png +0 -0
- data/test/output_java/bar_background_gradient_bottom_top.png +0 -0
- data/test/output_java/bar_background_gradient_left_right.png +0 -0
- data/test/output_java/bar_background_gradient_right_left.png +0 -0
- data/test/output_java/bar_background_gradient_top_bottom.png +0 -0
- data/test/output_java/bar_background_gradient_topleft_bottomright.png +0 -0
- data/test/output_java/bar_background_gradient_topright_bottomleft.png +0 -0
- data/test/output_java/bar_formatted_numbers.png +0 -0
- data/test/output_java/bar_keynote.png +0 -0
- data/test/output_java/bar_keynote_small.png +0 -0
- data/test/output_java/bar_long_legend_text.png +0 -0
- data/test/output_java/bar_manual_colors.png +0 -0
- data/test/output_java/bar_marker_shadow.png +0 -0
- data/test/output_java/bar_nearly_zero_max_10.png +0 -0
- data/test/output_java/bar_no_legend.png +0 -0
- data/test/output_java/bar_no_line_markers.png +0 -0
- data/test/output_java/bar_no_title.png +0 -0
- data/test/output_java/bar_no_title_or_legend.png +0 -0
- data/test/output_java/bar_odeo.png +0 -0
- data/test/output_java/bar_one_value.png +0 -0
- data/test/output_java/bar_pos_neg.png +0 -0
- data/test/output_java/bar_rails_keynote.png +0 -0
- data/test/output_java/bar_set_absolute_trunc.png +0 -0
- data/test/output_java/bar_set_label_stagger_height.png +0 -0
- data/test/output_java/bar_set_legend_box_size_lg.png +0 -0
- data/test/output_java/bar_set_legend_box_size_sm.png +0 -0
- data/test/output_java/bar_set_marker.png +0 -0
- data/test/output_java/bar_set_trailing_dots_trunc.png +0 -0
- data/test/output_java/bar_spacing_full.png +0 -0
- data/test/output_java/bar_spacing_half.png +0 -0
- data/test/output_java/bar_spacing_none.png +0 -0
- data/test/output_java/bar_tall_graph.png +0 -0
- data/test/output_java/bar_tall_graph_small.png +0 -0
- data/test/output_java/bar_themed.png +0 -0
- data/test/output_java/bar_title_margin.png +0 -0
- data/test/output_java/bar_value_labels.png +0 -0
- data/test/output_java/bar_wide_graph.png +0 -0
- data/test/output_java/bar_wide_graph_small.png +0 -0
- data/test/output_java/bar_wrapped_legend_16_400.png +0 -0
- data/test/output_java/bar_wrapped_legend_16_800.png +0 -0
- data/test/output_java/bar_wrapped_legend_30_400.png +0 -0
- data/test/output_java/bar_wrapped_legend_30_800.png +0 -0
- data/test/output_java/bar_wrapped_legend_4_400.png +0 -0
- data/test/output_java/bar_wrapped_legend_4_800.png +0 -0
- data/test/output_java/bar_wrapped_legend__400.png +0 -0
- data/test/output_java/bar_wrapped_legend__800.png +0 -0
- data/test/output_java/bar_x_y_labels.png +0 -0
- data/test/output_java/bar_y_increment_1.png +0 -0
- data/test/output_java/bar_y_increment_2.0.png +0 -0
- data/test/output_java/bar_y_increment_20.png +0 -0
- data/test/output_java/bar_y_increment_5.png +0 -0
- data/test/output_java/bar_zero_marker_count.png +0 -0
- data/test/output_java/bar_zero_spacing.png +0 -0
- data/test/output_java/bezier.png +0 -0
- data/test/output_java/bezier_2.png +0 -0
- data/test/output_java/bezier_3.png +0 -0
- data/test/output_java/bullet_greyscale.png +0 -0
- data/test/output_java/bullet_no_options.png +0 -0
- data/test/output_java/dot.png +0 -0
- data/test/output_java/dot_manual_colors.png +0 -0
- data/test/output_java/dot_nearly_zero_max_10.png +0 -0
- data/test/output_java/dot_no_legend.png +0 -0
- data/test/output_java/dot_no_line_markers.png +0 -0
- data/test/output_java/dot_no_title.png +0 -0
- data/test/output_java/dot_no_title_or_legend.png +0 -0
- data/test/output_java/dot_one_value.png +0 -0
- data/test/output_java/dot_pos_neg.png +0 -0
- data/test/output_java/dot_set_legend_box_size_lg.png +0 -0
- data/test/output_java/dot_set_legend_box_size_sm.png +0 -0
- data/test/output_java/dot_set_marker.png +0 -0
- data/test/output_java/dot_small.png +0 -0
- data/test/output_java/dot_tall_graph.png +0 -0
- data/test/output_java/dot_tall_graph_small.png +0 -0
- data/test/output_java/dot_themed.png +0 -0
- data/test/output_java/dot_wide_graph.png +0 -0
- data/test/output_java/dot_wide_graph_small.png +0 -0
- data/test/output_java/dot_x_y_labels.png +0 -0
- data/test/output_java/dot_y_increment_1.png +0 -0
- data/test/output_java/dot_y_increment_2.0.png +0 -0
- data/test/output_java/dot_y_increment_20.png +0 -0
- data/test/output_java/dot_y_increment_5.png +0 -0
- data/test/output_java/enhancements-1.png +0 -0
- data/test/output_java/enhancements.png +0 -0
- data/test/output_java/line_all_neg.png +0 -0
- data/test/output_java/line_all_neg_400.png +0 -0
- data/test/output_java/line_all_neg_no_max.png +0 -0
- data/test/output_java/line_baseline.png +0 -0
- data/test/output_java/line_hang_value.png +0 -0
- data/test/output_java/line_hide_dots.png +0 -0
- data/test/output_java/line_hide_lines.png +0 -0
- data/test/output_java/line_jruby_error.png +0 -0
- data/test/output_java/line_large.png +0 -0
- data/test/output_java/line_large_baseline.png +0 -0
- data/test/output_java/line_legend_at_bottom.png +0 -0
- data/test/output_java/line_many.png +0 -0
- data/test/output_java/line_many_lines_small.png +0 -0
- data/test/output_java/line_many_numbers.png +0 -0
- data/test/output_java/line_marker_label_accuracy.png +0 -0
- data/test/output_java/line_more_sets_than_colors.png +0 -0
- data/test/output_java/line_no_data.png +0 -0
- data/test/output_java/line_no_data_msg.png +0 -0
- data/test/output_java/line_no_data_other.png +0 -0
- data/test/output_java/line_no_hide.png +0 -0
- data/test/output_java/line_no_legend.png +0 -0
- data/test/output_java/line_no_line_markers.png +0 -0
- data/test/output_java/line_no_title.png +0 -0
- data/test/output_java/line_nothing_but_the_graph.png +0 -0
- data/test/output_java/line_one_value.png +0 -0
- data/test/output_java/line_one_value_array.png +0 -0
- data/test/output_java/line_pos_neg.png +0 -0
- data/test/output_java/line_pos_neg_400.png +0 -0
- data/test/output_java/line_similar_high_end_values.png +0 -0
- data/test/output_java/line_similar_high_end_values_with_floor.png +0 -0
- data/test/output_java/line_small_small_zero.png +0 -0
- data/test/output_java/line_small_values.png +0 -0
- data/test/output_java/line_small_values_small.png +0 -0
- data/test/output_java/line_small_zero.png +0 -0
- data/test/output_java/line_some_nil_points.png +0 -0
- data/test/output_java/line_theme_37signals_.png +0 -0
- data/test/output_java/line_theme_37signals_400.png +0 -0
- data/test/output_java/line_theme_keynote_.png +0 -0
- data/test/output_java/line_theme_keynote_400.png +0 -0
- data/test/output_java/line_theme_odeo_.png +0 -0
- data/test/output_java/line_theme_odeo_400.png +0 -0
- data/test/output_java/line_theme_rails_keynote_.png +0 -0
- data/test/output_java/line_theme_rails_keynote_400.png +0 -0
- data/test/output_java/line_tiny.png +0 -0
- data/test/output_java/line_transparent.png +0 -0
- data/test/output_java/line_very_small.png +0 -0
- data/test/output_java/line_wide_graph.png +0 -0
- data/test/output_java/line_wide_graph_small.png +0 -0
- data/test/output_java/line_xy.png +0 -0
- data/test/output_java/line_xy_pairs.png +0 -0
- data/test/output_java/line_y_axis_increment.png +0 -0
- data/test/output_java/mini_bar.png +0 -0
- data/test/output_java/mini_pie.png +0 -0
- data/test/output_java/mini_pie_right_legend.png +0 -0
- data/test/output_java/mini_side_bar.png +0 -0
- data/test/output_java/mini_side_bar_multi_color.png +0 -0
- data/test/output_java/net_dots_tiny.png +0 -0
- data/test/output_java/net_large.png +0 -0
- data/test/output_java/net_many.png +0 -0
- data/test/output_java/net_many_nets_small.png +0 -0
- data/test/output_java/net_no_data.png +0 -0
- data/test/output_java/net_no_data_msg.png +0 -0
- data/test/output_java/net_no_data_other.png +0 -0
- data/test/output_java/net_no_legend.png +0 -0
- data/test/output_java/net_no_net_markers.png +0 -0
- data/test/output_java/net_no_title.png +0 -0
- data/test/output_java/net_nothing_but_the_graph.png +0 -0
- data/test/output_java/net_similar_high_end_values.png +0 -0
- data/test/output_java/net_small.png +0 -0
- data/test/output_java/net_small_small.png +0 -0
- data/test/output_java/net_small_small_zero.png +0 -0
- data/test/output_java/net_small_zero.png +0 -0
- data/test/output_java/net_wide_graph.png +0 -0
- data/test/output_java/net_wide_graph_small.png +0 -0
- data/test/output_java/pie_equal.png +0 -0
- data/test/output_java/pie_grey.png +0 -0
- data/test/output_java/pie_keynote.png +0 -0
- data/test/output_java/pie_keynote_small.png +0 -0
- data/test/output_java/pie_legend.png +0 -0
- data/test/output_java/pie_legend_small.png +0 -0
- data/test/output_java/pie_nearly_equal.png +0 -0
- data/test/output_java/pie_one_val.png +0 -0
- data/test/output_java/pie_pastel.png +0 -0
- data/test/output_java/pie_simple.png +0 -0
- data/test/output_java/pie_wide.png +0 -0
- data/test/output_java/pie_wrapped_legend_16_400.png +0 -0
- data/test/output_java/pie_wrapped_legend_16_800.png +0 -0
- data/test/output_java/pie_wrapped_legend_30_400.png +0 -0
- data/test/output_java/pie_wrapped_legend_30_800.png +0 -0
- data/test/output_java/pie_wrapped_legend_4_400.png +0 -0
- data/test/output_java/pie_wrapped_legend_4_800.png +0 -0
- data/test/output_java/pie_wrapped_legend__400.png +0 -0
- data/test/output_java/pie_wrapped_legend__800.png +0 -0
- data/test/output_java/pie_zero.png +0 -0
- data/test/output_java/scatter_all_neg.png +0 -0
- data/test/output_java/scatter_all_neg_400.png +0 -0
- data/test/output_java/scatter_basic.png +0 -0
- data/test/output_java/scatter_many.png +0 -0
- data/test/output_java/scatter_no_data.png +0 -0
- data/test/output_java/scatter_no_data_msg.png +0 -0
- data/test/output_java/scatter_no_data_other.png +0 -0
- data/test/output_java/scatter_no_hide.png +0 -0
- data/test/output_java/scatter_no_labels.png +0 -0
- data/test/output_java/scatter_no_legend.png +0 -0
- data/test/output_java/scatter_no_line_markers.png +0 -0
- data/test/output_java/scatter_no_title.png +0 -0
- data/test/output_java/scatter_nothing_but_the_graph.png +0 -0
- data/test/output_java/scatter_pos_neg.png +0 -0
- data/test/output_java/scatter_pos_neg_400.png +0 -0
- data/test/output_java/scatter_wide_graph.png +0 -0
- data/test/output_java/scatter_wide_graph_small.png +0 -0
- data/test/output_java/scene_hazy_night.png +0 -0
- data/test/output_java/scene_not_hazy_day.png +0 -0
- data/test/output_java/scene_partly_cloudy_day.png +0 -0
- data/test/output_java/scene_stormy_day.png +0 -0
- data/test/output_java/scene_stormy_night.png +0 -0
- data/test/output_java/side_bar.png +0 -0
- data/test/output_java/side_bar_data_range.png +0 -0
- data/test/output_java/side_bar_labels.png +0 -0
- data/test/output_java/side_bar_spacing_full.png +0 -0
- data/test/output_java/side_bar_spacing_half.png +0 -0
- data/test/output_java/side_bar_spacing_none.png +0 -0
- data/test/output_java/side_stacked_bar_keynote.png +0 -0
- data/test/output_java/side_stacked_bar_keynote_small.png +0 -0
- data/test/output_java/side_stacked_bar_labels.png +0 -0
- data/test/output_java/side_stacked_bar_long_label.png +0 -0
- data/test/output_java/side_stacked_bar_wide.png +0 -0
- data/test/output_java/spider_37signals.png +0 -0
- data/test/output_java/spider_equal.png +0 -0
- data/test/output_java/spider_keynote.png +0 -0
- data/test/output_java/spider_legend.png +0 -0
- data/test/output_java/spider_legend_small.png +0 -0
- data/test/output_java/spider_lots_of_data.png +0 -0
- data/test/output_java/spider_lots_of_data_normal_names.png +0 -0
- data/test/output_java/spider_nearly_equal.png +0 -0
- data/test/output_java/spider_no_axes.png +0 -0
- data/test/output_java/spider_no_background.png +0 -0
- data/test/output_java/spider_no_print.png +0 -0
- data/test/output_java/spider_overlay_1.png +0 -0
- data/test/output_java/spider_overlay_2.png +0 -0
- data/test/output_java/spider_rotation.png +0 -0
- data/test/output_java/spider_small.png +0 -0
- data/test/output_java/spider_wide.png +0 -0
- data/test/output_java/spider_zero.png +0 -0
- data/test/output_java/stacked_area_keynote.png +0 -0
- data/test/output_java/stacked_area_keynote_small.png +0 -0
- data/test/output_java/stacked_bar_keynote.png +0 -0
- data/test/output_java/stacked_bar_keynote_small.png +0 -0
- data/test/test_accumulator_bar.rb +51 -0
- data/test/test_area.rb +134 -0
- data/test/test_bar.rb +505 -0
- data/test/test_base.rb +8 -0
- data/test/test_bezier.rb +33 -0
- data/test/test_bullet.rb +26 -0
- data/test/test_dot.rb +263 -0
- data/test/test_legend.rb +68 -0
- data/test/test_line.rb +626 -0
- data/test/test_mini_bar.rb +33 -0
- data/test/test_mini_pie.rb +25 -0
- data/test/test_mini_side_bar.rb +36 -0
- data/test/test_net.rb +231 -0
- data/test/test_photo.rb +41 -0
- data/test/test_pie.rb +154 -0
- data/test/test_scatter.rb +233 -0
- data/test/test_scene.rb +100 -0
- data/test/test_side_bar.rb +56 -0
- data/test/test_sidestacked_bar.rb +105 -0
- data/test/test_spider.rb +226 -0
- data/test/test_stacked_area.rb +52 -0
- data/test/test_stacked_bar.rb +52 -0
- metadata +1176 -0
data/.gitignore
ADDED
data/.travis.yml
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
language: ruby
|
2
|
+
notifications:
|
3
|
+
email:
|
4
|
+
- uwe@kubosch.no
|
5
|
+
rvm:
|
6
|
+
- "1.8.7"
|
7
|
+
- "1.9.3"
|
8
|
+
- "2.0.0"
|
9
|
+
- jruby-18mode # JRuby in 1.8 mode
|
10
|
+
- jruby-19mode # JRuby in 1.9 mode
|
11
|
+
- jruby-20mode # JRuby in 2.0 mode
|
12
|
+
- rbx-18mode
|
13
|
+
- rbx-19mode
|
14
|
+
- rbx-20mode
|
data/Gemfile
ADDED
data/History.txt
ADDED
@@ -0,0 +1,193 @@
|
|
1
|
+
== 0.4.0
|
2
|
+
|
3
|
+
All old branches and pull requests have been merged or deleted. Over 40
|
4
|
+
issues have been resolved! Ruby 2.0 compatibility has been confirmed.
|
5
|
+
Several new features.
|
6
|
+
|
7
|
+
Features:
|
8
|
+
|
9
|
+
* Issue #38 Separate themes into Gruff::Themes module
|
10
|
+
* Issue #39 Add staggered labels
|
11
|
+
* Issue #40 Added spacing factor to bar graphs
|
12
|
+
* Issue #41 Add rotation to spider chart
|
13
|
+
* Issue #65 Add RMagick and RMagick4J respectively as dependencies to the
|
14
|
+
Gruff gem
|
15
|
+
* Issue #81 Ensure Ruby 2.0 compatibility
|
16
|
+
|
17
|
+
Bugfixes:
|
18
|
+
|
19
|
+
* Issue #17 Baseline drawn at incorrect position
|
20
|
+
* Issue #21 Division By Zero Error on Documented Example
|
21
|
+
* Issue #36 When writing the same chart multiple times, it should not be
|
22
|
+
rendered again.
|
23
|
+
* Issue #44 XY Datasets are inconvenient to use. (documentation and/or
|
24
|
+
code is wrong)
|
25
|
+
* Issue #46 issue with markers that are floats
|
26
|
+
* Issue #51 line with nil in dataset
|
27
|
+
* Issue #52 Wrong direction in y_axis_label
|
28
|
+
* Issue #54 Explicitly specify overlapping for lines (Gruff::Line)
|
29
|
+
* Issue #58 Clean up data sorting
|
30
|
+
* Issue #59 Escape '%' in labels
|
31
|
+
* Issue #60 Correct DOT graph drawing
|
32
|
+
* Issue #63 Some charts are drawn with transparent text when running with
|
33
|
+
JRuby/RMagick4J
|
34
|
+
* Issue #66 Marker line for 54.0 is missing on bar_set_marker.png example
|
35
|
+
* Issue #68 Y-axis label for bar_x_y_labels.png should be rotated when
|
36
|
+
drawn with JRuby
|
37
|
+
|
38
|
+
Support:
|
39
|
+
|
40
|
+
* Issue #4 Scaling a graph leads to fuzzy pictures
|
41
|
+
* Issue #8 zero-width bar entries drawn
|
42
|
+
* Issue #11 Feature: Data value markers
|
43
|
+
* Issue #18 Set encoding to uft-8
|
44
|
+
* Issue #24 Gruff::SideStackedBar
|
45
|
+
* Issue #35 Add option for line height in legend.
|
46
|
+
* Issue #49 font directive is not setting font in charts
|
47
|
+
* Issue #53 Is this project still alive?
|
48
|
+
|
49
|
+
Documentation:
|
50
|
+
|
51
|
+
* Issue #57 Build failing on Travis and no Build Status image in Readme
|
52
|
+
|
53
|
+
Pull requests:
|
54
|
+
|
55
|
+
* Issue #9 Add gradient background direction
|
56
|
+
* Issue #12 Bar updates
|
57
|
+
* Issue #14 Make use of the TEXT_OFFSET_PERCENTAGE const variable
|
58
|
+
* Issue #16 Fix exception when y_axis_increment is used in line bars
|
59
|
+
* Issue #26 Fix bug with additional point included on area charts
|
60
|
+
* Issue #27 Added marker_shadow_color to allow to draw shadows below
|
61
|
+
marker lines
|
62
|
+
* Issue #37 Update lib/gruff/base.rb: set legend under the graph
|
63
|
+
* Issue #42 Update lib/gruff/base.rb: set legend under the graph
|
64
|
+
* Issue #43 Fixed issue #25
|
65
|
+
* Issue #48 add license information to the gemspec
|
66
|
+
* Issue #56 Fixed gem file generation problem
|
67
|
+
|
68
|
+
Internal:
|
69
|
+
|
70
|
+
* Issue #80 Remove the .rmvrc file from the project
|
71
|
+
|
72
|
+
|
73
|
+
== 0.3.7
|
74
|
+
|
75
|
+
* ???
|
76
|
+
|
77
|
+
== 0.3.6
|
78
|
+
|
79
|
+
* Fixed manifest to list dot graph [theirishpenguin]
|
80
|
+
* Fixed color cycling error [Gunnar Wolf]
|
81
|
+
* Handle case where a line graph data set only has one value [Ron Colwill]
|
82
|
+
|
83
|
+
== 0.3.5
|
84
|
+
|
85
|
+
* Added dot graph from Erik Andrejko
|
86
|
+
|
87
|
+
== 0.3.4
|
88
|
+
|
89
|
+
* Reverted DEBUG=true. Will add a check in the release process so this doesn't happen again.
|
90
|
+
* Future releases will end in an odd number for development (topfunky-gruff on GitHub) or even for production releases.
|
91
|
+
|
92
|
+
== 0.3.3
|
93
|
+
|
94
|
+
* Legend line wrapping [Mat Schaffer]
|
95
|
+
* Stacked area graph fixes [James Coglan]
|
96
|
+
|
97
|
+
== 0.3.2
|
98
|
+
|
99
|
+
* Include init.rb for use as a Rails plugin.
|
100
|
+
|
101
|
+
== 0.3.1
|
102
|
+
|
103
|
+
* Fixed missing bullet graph bug (experimental, will be in a future release).
|
104
|
+
|
105
|
+
== 0.3.0
|
106
|
+
|
107
|
+
* Fixed bug where pie graphs weren't drawing their label correctly.
|
108
|
+
|
109
|
+
== 0.2.9
|
110
|
+
|
111
|
+
* Patch to make SideBar accurate instead of stacked [Marik]
|
112
|
+
* Will be extracting net, pie, stacked, and side-stacked to separate gem
|
113
|
+
in next release.
|
114
|
+
|
115
|
+
== 0.2.8
|
116
|
+
|
117
|
+
* New accumulator bar graph (experimental)
|
118
|
+
* Better mini graphs
|
119
|
+
* Bug fixes
|
120
|
+
|
121
|
+
== 0.2.7
|
122
|
+
|
123
|
+
* Regenerated Manifest.txt
|
124
|
+
* Added scene sample to package
|
125
|
+
* Added mini side_bar (EXPERIMENTAL)
|
126
|
+
* Added @zero_degree option to Gruff::Pie so first slice can start somewhere other than 3 o'clock
|
127
|
+
* Increased size of numbers in Gruff::Mini::Pie
|
128
|
+
* Added legend_box_size accessor
|
129
|
+
|
130
|
+
== 0.2.6
|
131
|
+
|
132
|
+
* Fixed missing side_bar.rb in Manifest.txt
|
133
|
+
|
134
|
+
== 0.2.5
|
135
|
+
|
136
|
+
* New mini graph types (Experimental)
|
137
|
+
* Marker lines can be different color than text labels
|
138
|
+
* Theme definition cleanup
|
139
|
+
|
140
|
+
== 0.2.4
|
141
|
+
|
142
|
+
* Added option to hide line numbers
|
143
|
+
* Fixed code that was causing warnings
|
144
|
+
|
145
|
+
== 0.2.3
|
146
|
+
|
147
|
+
* Cleaned up measurements so the graph expands to fill the available space
|
148
|
+
* Added x-axis and y-axis label options
|
149
|
+
|
150
|
+
== 0.1.2
|
151
|
+
|
152
|
+
* minimum_value and maximum_value can be set after data() to manually scale the graph
|
153
|
+
* Fixed infinite loop bug when values are all equal
|
154
|
+
* Added experimental net and spider graphs
|
155
|
+
* Added non-linear scene graph for a simple interface to complex layered graphs
|
156
|
+
* Initial refactoring of tests
|
157
|
+
* A host of other bug fixes
|
158
|
+
|
159
|
+
== 0.0.8
|
160
|
+
|
161
|
+
* NEW Sidestacked Bar Graphs. [Alun Eyre]
|
162
|
+
* baseline_value larger than data will now show correctly. [Mike Perham]
|
163
|
+
* hide_dots and hide_lines are now options for line graphs.
|
164
|
+
|
165
|
+
== 0.0.6
|
166
|
+
|
167
|
+
* Fixed hang when no data is passed.
|
168
|
+
|
169
|
+
== 0.0.4
|
170
|
+
|
171
|
+
* Added bar graphs
|
172
|
+
* Added area graphs
|
173
|
+
* Added pie graphs
|
174
|
+
* Added render_image_background for using images as background on a theme
|
175
|
+
* Fixed small size legend centering issue
|
176
|
+
* Added initial line marker rounding to significant digits (Christian Winkler)
|
177
|
+
* Line graphs line width is scaled with number of points being drawn (Christian Winkler)
|
178
|
+
|
179
|
+
== 0.0.3
|
180
|
+
|
181
|
+
* Added option to draw line graphs without the lines (points only), thanks to Eric Hodel
|
182
|
+
* Removed font-minimum check so graphs look better at 300px width
|
183
|
+
|
184
|
+
== 0.0.2
|
185
|
+
|
186
|
+
* Fixed to_blob (thanks to Carlos Villela)
|
187
|
+
* Added bar graphs (initial functionality...will be enhanced)
|
188
|
+
* Removed rendered test output from gem
|
189
|
+
|
190
|
+
== 0.0.1
|
191
|
+
|
192
|
+
* Initial release.
|
193
|
+
* Line graphs only. Other graph styles coming soon.
|
data/MIT-LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2005-2012 Topfunky Corporation boss@topfunky.com
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Manifest.txt
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
History.txt
|
2
|
+
MIT-LICENSE
|
3
|
+
Manifest.txt
|
4
|
+
README.txt
|
5
|
+
Rakefile
|
6
|
+
assets/bubble.png
|
7
|
+
assets/city_scene/background/0000.png
|
8
|
+
assets/city_scene/background/0600.png
|
9
|
+
assets/city_scene/background/2000.png
|
10
|
+
assets/city_scene/clouds/cloudy.png
|
11
|
+
assets/city_scene/clouds/partly_cloudy.png
|
12
|
+
assets/city_scene/clouds/stormy.png
|
13
|
+
assets/city_scene/grass/default.png
|
14
|
+
assets/city_scene/haze/true.png
|
15
|
+
assets/city_scene/number_sample/1.png
|
16
|
+
assets/city_scene/number_sample/2.png
|
17
|
+
assets/city_scene/number_sample/default.png
|
18
|
+
assets/city_scene/sky/0000.png
|
19
|
+
assets/city_scene/sky/0200.png
|
20
|
+
assets/city_scene/sky/0400.png
|
21
|
+
assets/city_scene/sky/0600.png
|
22
|
+
assets/city_scene/sky/0800.png
|
23
|
+
assets/city_scene/sky/1000.png
|
24
|
+
assets/city_scene/sky/1200.png
|
25
|
+
assets/city_scene/sky/1400.png
|
26
|
+
assets/city_scene/sky/1500.png
|
27
|
+
assets/city_scene/sky/1700.png
|
28
|
+
assets/city_scene/sky/2000.png
|
29
|
+
assets/pc306715.jpg
|
30
|
+
assets/plastik/blue.png
|
31
|
+
assets/plastik/green.png
|
32
|
+
assets/plastik/red.png
|
33
|
+
init.rb
|
34
|
+
lib/gruff.rb
|
35
|
+
lib/gruff/accumulator_bar.rb
|
36
|
+
lib/gruff/area.rb
|
37
|
+
lib/gruff/bar.rb
|
38
|
+
lib/gruff/bar_conversion.rb
|
39
|
+
lib/gruff/base.rb
|
40
|
+
lib/gruff/bullet.rb
|
41
|
+
lib/gruff/deprecated.rb
|
42
|
+
lib/gruff/dot.rb
|
43
|
+
lib/gruff/line.rb
|
44
|
+
lib/gruff/mini/bar.rb
|
45
|
+
lib/gruff/mini/legend.rb
|
46
|
+
lib/gruff/mini/pie.rb
|
47
|
+
lib/gruff/mini/side_bar.rb
|
48
|
+
lib/gruff/net.rb
|
49
|
+
lib/gruff/photo_bar.rb
|
50
|
+
lib/gruff/pie.rb
|
51
|
+
lib/gruff/scene.rb
|
52
|
+
lib/gruff/side_bar.rb
|
53
|
+
lib/gruff/side_stacked_bar.rb
|
54
|
+
lib/gruff/spider.rb
|
55
|
+
lib/gruff/stacked_area.rb
|
56
|
+
lib/gruff/stacked_bar.rb
|
57
|
+
lib/gruff/stacked_mixin.rb
|
58
|
+
rails_generators/gruff/gruff_generator.rb
|
59
|
+
rails_generators/gruff/templates/controller.rb
|
60
|
+
rails_generators/gruff/templates/functional_test.rb
|
61
|
+
test/gruff_test_case.rb
|
62
|
+
test/test_accumulator_bar.rb
|
63
|
+
test/test_area.rb
|
64
|
+
test/test_bar.rb
|
65
|
+
test/test_base.rb
|
66
|
+
test/test_bullet.rb
|
67
|
+
test/test_dot.rb
|
68
|
+
test/test_legend.rb
|
69
|
+
test/test_line.rb
|
70
|
+
test/test_mini_bar.rb
|
71
|
+
test/test_mini_pie.rb
|
72
|
+
test/test_mini_side_bar.rb
|
73
|
+
test/test_net.rb
|
74
|
+
test/test_photo.rb
|
75
|
+
test/test_pie.rb
|
76
|
+
test/test_scene.rb
|
77
|
+
test/test_side_bar.rb
|
78
|
+
test/test_sidestacked_bar.rb
|
79
|
+
test/test_spider.rb
|
80
|
+
test/test_stacked_area.rb
|
81
|
+
test/test_stacked_bar.rb
|
data/README.md
ADDED
@@ -0,0 +1,139 @@
|
|
1
|
+
# Gruff Graphs
|
2
|
+
|
3
|
+
[![Build Status](https://travis-ci.org/topfunky/gruff.png?branch=master)](https://travis-ci.org/topfunky/gruff)
|
4
|
+
[![Gem Version](https://badge.fury.io/rb/gruff.png)](http://badge.fury.io/rb/gruff)
|
5
|
+
|
6
|
+
A library for making beautiful graphs.
|
7
|
+
|
8
|
+
## WARNING
|
9
|
+
|
10
|
+
This is beta-quality software. It works well according to our tests,
|
11
|
+
but the API may change and other features will be added.
|
12
|
+
We are working to make Gruff production quality software.
|
13
|
+
|
14
|
+
## Installation
|
15
|
+
|
16
|
+
Add this line to your application's Gemfile:
|
17
|
+
|
18
|
+
gem 'gruff'
|
19
|
+
|
20
|
+
And then execute:
|
21
|
+
|
22
|
+
$ bundle
|
23
|
+
|
24
|
+
Or install it yourself as:
|
25
|
+
|
26
|
+
$ gem install gruff
|
27
|
+
|
28
|
+
## Usage
|
29
|
+
|
30
|
+
```Ruby
|
31
|
+
require 'gruff'
|
32
|
+
g = Gruff::Line.new
|
33
|
+
g.title = 'Wow! Look at this!'
|
34
|
+
g.labels = { 0 => '5/6', 1 => '5/15', 2 => '5/24', 3 => '5/30', 4 => '6/4',
|
35
|
+
5 => '6/12', 6 => '6/21', 7 => '6/28' }
|
36
|
+
g.data :Jimmy, [25, 36, 86, 39, 25, 31, 79, 88]
|
37
|
+
g.data :Charles, [80, 54, 67, 54, 68, 70, 90, 95]
|
38
|
+
g.data :Julie, [22, 29, 35, 38, 36, 40, 46, 57]
|
39
|
+
g.data :Jane, [95, 95, 95, 90, 85, 80, 88, 100]
|
40
|
+
g.data :Philip, [90, 34, 23, 12, 78, 89, 98, 88]
|
41
|
+
g.data :Arthur, [5, 10, 13, 11, 6, 16, 22, 32]
|
42
|
+
g.write('exciting.png')
|
43
|
+
```
|
44
|
+
|
45
|
+
## Examples
|
46
|
+
|
47
|
+
You can find many examples in the [test](https://github.com/topfunky/gruff/tree/master/test)
|
48
|
+
directory along with their resulting charts in the
|
49
|
+
[output](https://github.com/topfunky/gruff/tree/master/test/output) directory.
|
50
|
+
|
51
|
+
You can find older examples here: http://nubyonrails.com/pages/gruff
|
52
|
+
|
53
|
+
### Accumulator bar chart
|
54
|
+
|
55
|
+
![Accumulator bar chart](https://raw.github.com/topfunky/gruff/master/test/output/accum_bar.png)
|
56
|
+
|
57
|
+
### Area chart
|
58
|
+
|
59
|
+
![Area chart](https://raw.github.com/topfunky/gruff/master/test/output/area_keynote.png)
|
60
|
+
|
61
|
+
### Bar chart
|
62
|
+
|
63
|
+
![Bar chart](https://raw.github.com/topfunky/gruff/master/test/output/bar_rails_keynote.png)
|
64
|
+
|
65
|
+
### Bezier chart
|
66
|
+
|
67
|
+
In progress!
|
68
|
+
|
69
|
+
![Bezier chart](https://raw.github.com/topfunky/gruff/master/test/output/bezier_3.png)
|
70
|
+
|
71
|
+
### Bullet chart
|
72
|
+
|
73
|
+
In progress!
|
74
|
+
|
75
|
+
![Bullet chart](https://raw.github.com/topfunky/gruff/master/test/output/bullet_greyscale.png)
|
76
|
+
|
77
|
+
### Dot chart
|
78
|
+
|
79
|
+
![Dot chart](https://raw.github.com/topfunky/gruff/master/test/output/dot.png)
|
80
|
+
|
81
|
+
### Line chart
|
82
|
+
|
83
|
+
![Line chart](https://raw.github.com/topfunky/gruff/master/test/output/line_theme_rails_keynote_.png)
|
84
|
+
|
85
|
+
### LineXY chart
|
86
|
+
|
87
|
+
![LineXY chart](https://raw.github.com/topfunky/gruff/master/test/output/line_xy.png)
|
88
|
+
|
89
|
+
### Net chart
|
90
|
+
|
91
|
+
![Net chart](https://raw.github.com/topfunky/gruff/master/test/output/net_wide_graph.png)
|
92
|
+
|
93
|
+
### Pie chart
|
94
|
+
|
95
|
+
![Pie chart](https://raw.github.com/topfunky/gruff/master/test/output/pie_pastel.png)
|
96
|
+
|
97
|
+
### Scatter chart
|
98
|
+
|
99
|
+
![Scatter chart](https://raw.github.com/topfunky/gruff/master/test/output/scatter_basic.png)
|
100
|
+
|
101
|
+
### Side bar chart
|
102
|
+
|
103
|
+
![Side bar chart](https://raw.github.com/topfunky/gruff/master/test/output/side_bar.png)
|
104
|
+
|
105
|
+
### Side stacked bar chart
|
106
|
+
|
107
|
+
![Side stacked bar chart](https://raw.github.com/topfunky/gruff/master/test/output/side_stacked_bar_keynote.png)
|
108
|
+
|
109
|
+
### Spider chart
|
110
|
+
|
111
|
+
![Spider chart](https://raw.github.com/topfunky/gruff/master/test/output/spider_37signals.png)
|
112
|
+
|
113
|
+
### Stacked area chart
|
114
|
+
|
115
|
+
![Stacked area chart](https://raw.github.com/topfunky/gruff/master/test/output/stacked_area_keynote.png)
|
116
|
+
|
117
|
+
### Stacked bar chart
|
118
|
+
|
119
|
+
![Stacked bar chart](https://raw.github.com/topfunky/gruff/master/test/output/stacked_bar_keynote.png)
|
120
|
+
|
121
|
+
|
122
|
+
## Documentation
|
123
|
+
|
124
|
+
http://www.rubydoc.info/github/topfunky/gruff/frames
|
125
|
+
|
126
|
+
|
127
|
+
## Contributing
|
128
|
+
|
129
|
+
### Source
|
130
|
+
|
131
|
+
The source for this project is now kept at GitHub:
|
132
|
+
|
133
|
+
http://github.com/topfunky/gruff
|
134
|
+
|
135
|
+
1. Fork it
|
136
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
137
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
138
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
139
|
+
5. Create new Pull Request
|