diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-07 07:38:25 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-07 07:38:25 +0000 |
commit | 9ff1e787f915539b1980654e3d3d2013ff5c81d2 (patch) | |
tree | 8d0fc9ca5b4dbfa9885dc56862292d55091bcaac /ruby_1_8_6/ext/tk/sample/tkextlib/blt/pareto.rb | |
parent | 441546edcfbb1b346c87b69c5f578d1a0e522e06 (diff) |
wrong commit; sorryv1_8_6_269
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_6_269@17938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_1_8_6/ext/tk/sample/tkextlib/blt/pareto.rb')
-rw-r--r-- | ruby_1_8_6/ext/tk/sample/tkextlib/blt/pareto.rb | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/ruby_1_8_6/ext/tk/sample/tkextlib/blt/pareto.rb b/ruby_1_8_6/ext/tk/sample/tkextlib/blt/pareto.rb deleted file mode 100644 index 94d5f3f97f..0000000000 --- a/ruby_1_8_6/ext/tk/sample/tkextlib/blt/pareto.rb +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env ruby - -require 'tk' -require 'tkextlib/blt' - -# Example of a pareto chart. -# -# The pareto chart mixes line and bar elements in the same graph. -# Each processing operating is represented by a bar element. The -# total accumulated defects is displayed with a single line element. -b = Tk::BLT::Barchart.new(:title=>'Defects Found During Inspection', - :font=>'Helvetica 12', :plotpady=>[12, 4], - :width=>'6i', :height=>'5i') -Tk::BLT::Table.add(Tk.root, b, :fill=>:both) - -data = [ - ["Spot Weld", 82, 'yellow'], - ["Lathe", 49, 'orange'], - ["Gear Cut", 38, 'green'], - ["Drill", 24, 'blue'], - ["Grind", 17, 'red'], - ["Lapping", 12, 'brown'], - ["Press", 8, 'purple'], - ["De-burr", 4, 'pink'], - ["Packaging", 3, 'cyan'], - ["Other", 12, 'magenta'] -] - -# Create an X-Y graph line element to trace the accumulated defects. -b.line_create('accum', :label=>'', :symbol=>:none, :color=>'red') - -# Define a bitmap to be used to stipple the background of each bar. -pattern1 = Tk::BLT::Bitmap.define([ [4, 4], [1, 2, 4, 8] ]) - -# For each process, create a bar element to display the magnitude. -count = 0 -sum = 0 -ydata = [0] -xdata = [0] -labels = [] - -data.each{|label, value, color| - count += 1 - b.element_create(label, :xdata=>count, :ydata=>value, :foreground=>color, - :relief=>:solid, :borderwidth=>1, :stipple=>pattern1, - :background=>'lightblue') - labels[count] = label - # Get the total number of defects. - sum += value - ydata << sum - xdata << count -} - -# Configure the coordinates of the accumulated defects, -# now that we know what they are. -b.element_configure('accum', :xdata=>xdata, :ydata=>ydata) - -# Add text markers to label the percentage of total at each point. -xdata.zip(ydata){|x, y| - percent = (y * 100.0) / sum - if x == 0 - text = ' 0%' - else - text = '%.1f' % percent - end - b.marker_create(:text, :coords=>[x, y], :text=>text, :font=>'Helvetica 10', - :foreground=>'red4', :anchor=>:center, :yoffset=>-5) -} - -# Display an auxillary y-axis for percentages. -b.axis_configure('y2', :hide=>false, :min=>0.0, :max=>100.0, - :title=>'Percentage') - -# Title the y-axis -b.axis_configure('y', :title=>'Defects') - -# Configure the x-axis to display the process names, instead of numbers. -b.axis_configure('x', :title=>'Process', :rotate=>90, :subdivisions=>0, - :command=>proc{|w, val| - val = val.round - labels[val]? labels[val]: val - }) - -# No legend needed. -b.legend_configure(:hide=>true) - -# Configure the grid lines. -b.gridline_configure(:mapx=>:x, :color=>'lightblue') - -Tk.mainloop |