class Tk::Tcllib::Plotchart::Barchart

Constants

TkCommandNames

Public Class Methods

new(*args) click to toggle source
Calls superclass method TkWindow.new
# File lib/tkextlib/tcllib/plotchart.rb, line 1000
def initialize(*args)
  # args := ([parent,] xlabels, ylabels [, series] [, keys])
  # xlabels, ylabels := labels | axis ( depend on normal or horizontal )
  # labels := Array of [label, label, ...]
  #   (It determines the number of bars that will be plotted per series.)
  # axis := Array of [minimum, maximum, stepsize]
  # series := Integer number of data series | 'stacked' | :stacked
  if args[0].kind_of?(Array)
    @xlabels = args.shift
    @ylabels  = args.shift

    if args[0].kind_of?(Hash)
      @series_size = :stacked
    else
      @series_size  = args.shift
    end

    super(*args) # create canvas widget
  else
    parent = args.shift

    @xlabels = args.shift
    @ylabels = args.shift

    if args[0].kind_of?(Hash)
      @series_size = :stacked
    else
      @series_size  = args.shift
    end

    if parent.kind_of?(Tk::Canvas)
      @path = parent.path
    else
      super(parent, *args) # create canvas widget
    end
  end

  @chart = _create_chart
end

Public Instance Methods

__destroy_hook__() click to toggle source
# File lib/tkextlib/tcllib/plotchart.rb, line 1048
def __destroy_hook__
  Tk::Tcllib::Plotchart::PlotSeries::SeriesID_TBL.mutex.synchronize{
    Tk::Tcllib::Plotchart::PlotSeries::SeriesID_TBL.delete(@path)
  }
end
color(*cols)
Alias for: colours
colors(*cols)
Alias for: colours
colour(*cols)
Alias for: colours
colours(*cols) click to toggle source
# File lib/tkextlib/tcllib/plotchart.rb, line 1059
def colours(*cols)
  # set the colours to be used
  tk_call(@chart, 'colours', *cols)
  self
end
Also aliased as: colour, colors, color
plot(series, dat, col=None) click to toggle source
# File lib/tkextlib/tcllib/plotchart.rb, line 1054
def plot(series, dat, col=None)
  tk_call(@chart, 'plot', series, dat, col)
  self
end

Private Instance Methods

_create_chart() click to toggle source
# File lib/tkextlib/tcllib/plotchart.rb, line 1040
def _create_chart
  p self.class::TkCommandNames[1] if $DEBUG
  tk_call_without_enc(self.class::TkCommandNames[1], @path,
                      array2tk_list(@xlabels), array2tk_list(@ylabels),
                      @series_size)
end