gruff 0.4.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
+
[](https://travis-ci.org/topfunky/gruff)
|
|
4
|
+
[](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
|
+

|
|
56
|
+
|
|
57
|
+
### Area chart
|
|
58
|
+
|
|
59
|
+

|
|
60
|
+
|
|
61
|
+
### Bar chart
|
|
62
|
+
|
|
63
|
+

|
|
64
|
+
|
|
65
|
+
### Bezier chart
|
|
66
|
+
|
|
67
|
+
In progress!
|
|
68
|
+
|
|
69
|
+

|
|
70
|
+
|
|
71
|
+
### Bullet chart
|
|
72
|
+
|
|
73
|
+
In progress!
|
|
74
|
+
|
|
75
|
+

|
|
76
|
+
|
|
77
|
+
### Dot chart
|
|
78
|
+
|
|
79
|
+

|
|
80
|
+
|
|
81
|
+
### Line chart
|
|
82
|
+
|
|
83
|
+

|
|
84
|
+
|
|
85
|
+
### LineXY chart
|
|
86
|
+
|
|
87
|
+

|
|
88
|
+
|
|
89
|
+
### Net chart
|
|
90
|
+
|
|
91
|
+

|
|
92
|
+
|
|
93
|
+
### Pie chart
|
|
94
|
+
|
|
95
|
+

|
|
96
|
+
|
|
97
|
+
### Scatter chart
|
|
98
|
+
|
|
99
|
+

|
|
100
|
+
|
|
101
|
+
### Side bar chart
|
|
102
|
+
|
|
103
|
+

|
|
104
|
+
|
|
105
|
+
### Side stacked bar chart
|
|
106
|
+
|
|
107
|
+

|
|
108
|
+
|
|
109
|
+
### Spider chart
|
|
110
|
+
|
|
111
|
+

|
|
112
|
+
|
|
113
|
+
### Stacked area chart
|
|
114
|
+
|
|
115
|
+

|
|
116
|
+
|
|
117
|
+
### Stacked bar chart
|
|
118
|
+
|
|
119
|
+

|
|
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
|