Class: Tk::Tcllib::Plotchart::XYPlot

Inherits:
Canvas show all
Includes:
ChartMethod
Defined in:
lib/tkextlib/tcllib/plotchart.rb

Direct Known Subclasses

Histogram, Stripchart, TXPlot, XLogYPlot

Constant Summary collapse

TkCommandNames =
[
  'canvas'.freeze,
  '::Plotchart::createXYPlot'.freeze
].freeze

Constants included from TkCore

TkCore::EventFlag, TkCore::INTERP, TkCore::INTERP_MUTEX, TkCore::INTERP_ROOT_CHECK, TkCore::INTERP_THREAD, TkCore::INTERP_THREAD_STATUS, TkCore::RUN_EVENTLOOP_ON_MAIN_THREAD, TkCore::WIDGET_DESTROY_HOOK, TkCore::WITH_ENCODING, TkCore::WITH_RUBY_VM

Constants included from TkComm

TkComm::GET_CONFIGINFO_AS_ARRAY, TkComm::GET_CONFIGINFOwoRES_AS_ARRAY, TkComm::TkExtlibAutoloadModule, TkComm::Tk_CMDTBL, TkComm::Tk_IDs, TkComm::Tk_WINDOWS, TkComm::USE_TCLs_LIST_FUNCTIONS, TkComm::WidgetClassNames

Constants included from TkUtil

TkUtil::None, TkUtil::RELEASE_DATE

Constants inherited from Canvas

Canvas::WidgetClassName

Constants inherited from TkWindow

TkWindow::WidgetClassName

Constants included from Tk

AUTO_PATH, INTERP, JAPANIZED_TK, LIBRARY_PATH, MAINLOOP, PACKAGE_PATH, RELEASE_DATE, Tk::TCL_LIBRARY_PATH, Tk::TCL_MAJOR_VERSION, Tk::TCL_MINOR_VERSION, Tk::TCL_PACKAGE_PATH, Tk::TCL_PATCHLEVEL, Tk::TCL_PRECISION, Tk::TCL_VERSION, Tk::TK_MAJOR_VERSION, Tk::TK_MINOR_VERSION, Tk::TK_PATCHLEVEL, Tk::TK_VERSION, Tk::Tkextlib_RELEASE_DATE, Tk::TreeCtrl_Widget, X_Scrollable, Y_Scrollable

Constants included from Encoding

Encoding::BINARY, Encoding::BINARY_NAME, Encoding::DEFAULT_EXTERNAL_NAME, Encoding::DEFAULT_INTERNAL_NAME, Encoding::ENCODING_TABLE, Encoding::RubyEncoding, Encoding::UNKNOWN, Encoding::UTF8_NAME

Constants included from Tk::TkDND::Shape

Tk::TkDND::Shape::PACKAGE_NAME

Instance Method Summary collapse

Methods included from ChartMethod

#background, #balloon, #balloonconfig, #coords_3D_to_pixel, #coords_to_pixel, #determine_scale, #legend, #legendconfig, #pixel_to_coords, #plaintext, #plotpack, #polar_coordinates, #polar_to_pixel, #save_plot, #set_zoom_pan, #title, #view_port, #world_3D_coordinates, #world_coordinates, #xconfig, #xtext, #xticklines, #yconfig, #ytext, #yticklines

Methods included from TkCore

#_tk_call_to_list_core, #after, #after_cancel, #after_idle, #appname, #appsend, #appsend_deny, #appsend_displayof, callback, #callback_break, #callback_continue, #callback_return, #chooseColor, #chooseDirectory, #do_one_event, #event_generate, #getMultipleOpenFile, #getMultipleSaveFile, #getOpenFile, #getSaveFile, #get_eventloop_tick, #get_eventloop_weight, #get_no_event_wait, #inactive, #inactive_displayof, #info, #ip_eval, #ip_eval_with_enc, #ip_eval_without_enc, #ip_invoke, #ip_invoke_with_enc, #ip_invoke_without_enc, #is_mainloop?, #load_cmd_on_ip, #mainloop, #mainloop_exist?, #mainloop_thread?, #mainloop_watchdog, #messageBox, #rb_appsend, #rb_appsend_displayof, #reset_inactive, #reset_inactive_displayof, #restart, #scaling, #scaling_displayof, #set_eventloop_tick, #set_eventloop_weight, #set_no_event_wait, #tk_call, #tk_call_to_list, #tk_call_to_list_with_enc, #tk_call_to_list_without_enc, #tk_call_to_simplelist, #tk_call_to_simplelist_with_enc, #tk_call_to_simplelist_without_enc, #tk_call_with_enc, #tk_call_without_enc, #windowingsystem

Methods included from TkComm

_at, _callback_entry?, _callback_entry_class?, _curr_cmd_id, _fromUTF8, _genobj_for_tkwidget, _next_cmd_id, _toUTF8, array2tk_list, #bind, #bind_all, #bind_append, #bind_append_all, #bind_remove, #bind_remove_all, #bindinfo, #bindinfo_all, bool, image_obj, #install_cmd, install_cmd, list, num_or_nil, num_or_str, number, procedure, simplelist, slice_ary, string, #subst, tk_split_escstr, tk_split_list, tk_split_simplelist, tk_split_sublist, tk_tcl2ruby, uninstall_cmd, #uninstall_cmd, window

Methods included from TkEvent

#install_bind, #install_bind_for_event_class

Methods included from TkUtil

#_conv_args, _conv_args, #_fromUTF8, #_get_eval_enc_str, _get_eval_enc_str, #_get_eval_string, _get_eval_string, _symbolkey2str, #_symbolkey2str, #_toUTF8, #bool, bool, callback, eval_cmd, #hash_kv, hash_kv, install_cmd, #num_or_nil, num_or_nil, num_or_str, #num_or_str, number, #number, string, #string, uninstall_cmd, untrust

Methods inherited from Canvas

#__BLT_EPS_item_boolval_optkeys, #__BLT_EPS_item_strval_optkeys, #addtag, #addtag_above, #addtag_all, #addtag_below, #addtag_closest, #addtag_enclosed, #addtag_overlapping, #addtag_withtag, #bbox, #canvasx, #canvasy, #coords, #create, #create_itemobj_from_id, #dchars, #delete, #dtag, #find, #find_above, #find_all, #find_below, #find_closest, #find_enclosed, #find_overlapping, #find_withtag, #gettags, #icursor, #imove, #index, #insert, #itembind, #itembind_append, #itembind_remove, #itembindinfo, #itemfocus, #itemtype, #lower, #move, #moveto, #postscript, #raise, #rchars, #scale, #scan_dragto, #scan_mark, #select, #select_adjust, #select_clear, #select_from, #select_item, #select_to

Methods included from Scrollable

#autoscroll, #unautoscroll

Methods included from YScrollable

#yscrollbar, #yscrollcommand, #yview, #yview_moveto, #yview_scroll

Methods included from XScrollable

#xscrollbar, #xscrollcommand, #xview, #xview_moveto, #xview_scroll

Methods included from TkItemConfigMethod

__IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_itemconfigure_options, #__current_itemconfiginfo, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #current_itemconfiginfo, #itemcget, #itemcget_strict, #itemcget_tkstring, #itemconfiginfo, #itemconfigure, #tagid

Methods included from TkItemConfigOptkeys

#__conv_item_keyonly_opts, #itemconfig_hash_kv

Methods included from TkTreatItemFont

#kanjifont_copy, #kanjitagfont_configure, #latintagfont_configure, #latintagfont_copy, #tagfont_configinfo, #tagfont_configure, #tagfont_copy

Methods inherited from TkWindow

_widget_inspect_full_=, _widget_inspect_full_?, #bind_class, #bindtags, #bindtags=, #bindtags_shift, #bindtags_unshift, #caret, #colormodel, #command, #cursor_propagate, #cursor_restore, #database_class, database_class, database_classname, #database_classname, #destroy, #eventloop_wait_destroy, #eventloop_wait_visibility, #exist?, #grab, #grab_current, #grab_release, #grab_set, #grab_set_global, #grab_status, #grid, #grid_anchor, #grid_bbox, #grid_column, #grid_columnconfig, #grid_columnconfiginfo, #grid_config, #grid_forget, #grid_in, #grid_info, #grid_location, #grid_propagate, #grid_remove, #grid_row, #grid_rowconfig, #grid_rowconfiginfo, #grid_size, #grid_slaves, #inspect, #lower, #pack, #pack_config, #pack_forget, #pack_in, #pack_info, #pack_propagate, #pack_slaves, #place, #place_config, #place_configinfo, #place_forget, #place_in, #place_info, #place_slaves, #raise, #set_focus, #thread_wait_destroy, #thread_wait_visibility, #tktrans_get_image, #tktrans_set_image, to_eval, #wait_destroy, #wait_visibility

Methods included from TkBindCore

#bind, #bind_append, #bind_remove, #bindinfo

Methods included from Busy

#busy, #busy_cget, #busy_configinfo, #busy_configure, #busy_current?, #busy_current_configinfo, #busy_forget, #busy_status, current, forget, hold, method_missing, status

Methods included from TkWinfo

appname, atom, atomname, cells, children, classname, colormapfull, containing, depth, exist?, fpixels, geometry, height, id, interps, manager, mapped?, parent, pixels, pointerx, pointerxy, pointery, reqheight, reqwidth, rgb, rootx, rooty, screen, screencells, screendepth, screenheight, screenmmheight, screenmmwidth, screenvisual, screenwidth, server, toplevel, viewable, visual, visualid, visualsavailable, vrootheight, vrootwidth, vrootx, vrooty, widget, width, #winfo_appname, #winfo_atom, #winfo_atomname, #winfo_cells, #winfo_children, #winfo_classname, #winfo_colormapfull, #winfo_containing, #winfo_depth, #winfo_exist?, #winfo_fpixels, #winfo_geometry, #winfo_height, #winfo_id, #winfo_interps, #winfo_manager, #winfo_mapped?, #winfo_parent, #winfo_pixels, #winfo_pointerx, #winfo_pointerxy, #winfo_pointery, #winfo_reqheight, #winfo_reqwidth, #winfo_rgb, #winfo_rootx, #winfo_rooty, #winfo_screen, #winfo_screencells, #winfo_screendepth, #winfo_screenheight, #winfo_screenmmheight, #winfo_screenmmwidth, #winfo_screenvisual, #winfo_screenwidth, #winfo_server, #winfo_toplevel, #winfo_viewable, #winfo_visual, #winfo_visualid, #winfo_visualsavailable, #winfo_vrootheight, #winfo_vrootwidth, #winfo_vrootx, #winfo_vrooty, #winfo_widget, #winfo_width, #winfo_x, #winfo_y, x, y

Methods included from Tk

BinaryString, EncodedString, #Grid, #Pack, #Place, UTF8_String, __create_widget_set__, __disable_toplevel_control__, __import_toplevel_aliases__, __regist_toplevel_aliases__, __remove_toplevel_aliases__, __reset_toplevel_owner__, __set_loaded_toplevel_aliases__, __set_toplevel_aliases__, __toplevel_alias_setup_proc__, add_kinsoku, bell, bell_on_display, const_missing, current_grabs, cursor_display, default_widget_set, default_widget_set=, delete_kinsoku, destroy, #encoding, #encoding=, errorCode, errorInfo, exit, focus, focus_lastfor, focus_next, focus_prev, focus_to, fromUTF8, grid, grid_forget, has_mainwindow?, load_tcllibrary, load_tclscript, load_tclscript_rsrc, load_tclscript_rsrcid, lower_window, pack, pack_forget, pkgconfig_get, pkgconfig_list, place, place_forget, raise_window, #root, show_kinsoku, sleep, strictMotif, subst_tk_backslash, subst_utf_backslash, tcl_pkgconfig_get, tcl_pkgconfig_list, thread_update, thread_update_idletasks, tk_pkgconfig_get, tk_pkgconfig_list, toUTF8, to_backslash_sequence, toplevel_aliases_on_widget_set, ungrid, unload_tcllibrary, unpack, unplace, update, #update, update_idletasks, utf_to_backslash, utf_to_backslash_sequence, wakeup, widget_set_symbols

Methods included from Encoding

#default_encoding=, #encoding=, #encoding_convertfrom, #encoding_convertto, #encoding_dirs, #encoding_dirs=, #encoding_name, #encoding_names, #encoding_obj, #encoding_objs, #encoding_system=, #encoding_system_name, #encoding_system_obj, #force_default_encoding, #force_default_encoding=, #force_default_encoding?, #tk_encoding_names

Methods included from Tk::TkDND::Shape

package_name, package_patchlevel, package_version, #shape_bounds, #shape_get, #shape_offset, #shape_set, #shape_update, version

Methods included from Tk::TkDND::DND

#dnd_bindsource, #dnd_bindsource_info, #dnd_bindtarget, #dnd_bindtarget_info, #dnd_clearsource, #dnd_cleartarget, #dnd_drag, version

Methods inherited from TkObject

#destroy, #epath, #event_generate, #method_missing, #path, #tk_send, #tk_send_to_list, #tk_send_to_list_with_enc, #tk_send_to_list_without_enc, #tk_send_to_simplelist, #tk_send_to_simplelist_with_enc, #tk_send_to_simplelist_without_enc, #tk_send_with_enc, #tk_send_without_enc, #to_eval

Methods included from TkConfigMethod

#[], #[]=, __IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_configure_options, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #cget, #cget_strict, #cget_tkstring, #config_hash_kv, #configinfo, #configure, #configure_cmd, #current_configinfo

Methods included from TkTreatFont

#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy

Methods inherited from TkKernel

new

Constructor Details

#initialize(*args) ⇒ XYPlot

Returns a new instance of XYPlot.



337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
# File 'lib/tkextlib/tcllib/plotchart.rb', line 337

def initialize(*args) # args := ([parent,] xaxis, yaxis [, keys])
                      # xaxis := Array of [minimum, maximum, stepsize]
                      # yaxis := Array of [minimum, maximum, stepsize]
  if args[0].kind_of?(Array)
    @xaxis = args.shift
    @yaxis = args.shift

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

    @xaxis = args.shift
    @yaxis = args.shift

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

  @chart = _create_chart
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class TkObject

Instance Method Details

#__destroy_hook__Object



368
369
370
371
372
# File 'lib/tkextlib/tcllib/plotchart.rb', line 368

def __destroy_hook__
  Tk::Tcllib::Plotchart::PlotSeries::SeriesID_TBL.mutex.synchronize{
    Tk::Tcllib::Plotchart::PlotSeries::SeriesID_TBL.delete(@path)
  }
end

#box_and_whiskers(series, xcrd, ycrd) ⇒ Object Also known as: box_whiskers



454
455
456
457
458
# File 'lib/tkextlib/tcllib/plotchart.rb', line 454

def box_and_whiskers(series, xcrd, ycrd)
  tk_call_without_enc(@chart, 'box-and-whiskers',
                      _get_eval_enc_str(series), xcrd, ycrd)
  self
end

#color_map(colors) ⇒ Object



409
410
411
412
413
414
# File 'lib/tkextlib/tcllib/plotchart.rb', line 409

def color_map(colors)
  colors = array2tk_list(colors) if colors.kind_of?(Array)

  tk_call_without_enc(@chart, 'colorMap', colors)
  self
end

#contourbox(xcrd, ycrd, vals, clss = None) ⇒ Object



399
400
401
402
403
404
405
406
407
# File 'lib/tkextlib/tcllib/plotchart.rb', line 399

def contourbox(xcrd, ycrd, vals, clss=None)
  xcrd = array2tk_list(xcrd) if xcrd.kind_of?(Array)
  ycrd = array2tk_list(ycrd) if ycrd.kind_of?(Array)
  vals = array2tk_list(vals) if vals.kind_of?(Array)
  clss = array2tk_list(clss) if clss.kind_of?(Array)

  tk_call(@chart, 'contourbox', xcrd, ycrd, vals, clss)
  self
end

#contourfill(xcrd, ycrd, vals, clss = None) ⇒ Object



389
390
391
392
393
394
395
396
397
# File 'lib/tkextlib/tcllib/plotchart.rb', line 389

def contourfill(xcrd, ycrd, vals, clss=None)
  xcrd = array2tk_list(xcrd) if xcrd.kind_of?(Array)
  ycrd = array2tk_list(ycrd) if ycrd.kind_of?(Array)
  vals = array2tk_list(vals) if vals.kind_of?(Array)
  clss = array2tk_list(clss) if clss.kind_of?(Array)

  tk_call(@chart, 'contourfill', xcrd, ycrd, vals, clss)
  self
end

#contourlines(xcrd, ycrd, vals, clss = None) ⇒ Object



379
380
381
382
383
384
385
386
387
# File 'lib/tkextlib/tcllib/plotchart.rb', line 379

def contourlines(xcrd, ycrd, vals, clss=None)
  xcrd = array2tk_list(xcrd) if xcrd.kind_of?(Array)
  ycrd = array2tk_list(ycrd) if ycrd.kind_of?(Array)
  vals = array2tk_list(vals) if vals.kind_of?(Array)
  clss = array2tk_list(clss) if clss.kind_of?(Array)

  tk_call(@chart, 'contourlines', xcrd, ycrd, vals, clss)
  self
end

#dataconfig(series, key, value = None) ⇒ Object



424
425
426
427
428
429
430
# File 'lib/tkextlib/tcllib/plotchart.rb', line 424

def dataconfig(series, key, value=None)
  if key.kind_of?(Hash)
    tk_call_without_enc(@chart, 'dataconfig', series, *hash_kv(key, true))
  else
    tk_call(@chart, 'dataconfig', series, "-#{key}", value)
  end
end

#dot(series, xcrd, ycrd, value) ⇒ Object



487
488
489
490
491
# File 'lib/tkextlib/tcllib/plotchart.rb', line 487

def dot(series, xcrd, ycrd, value)
  tk_call_without_enc(@chart, 'dot', _get_eval_enc_str(series),
                      xcrd, ycrd, value)
  self
end

#dotconfig(series, key, value = None) ⇒ Object



477
478
479
480
481
482
483
484
485
# File 'lib/tkextlib/tcllib/plotchart.rb', line 477

def dotconfig(series, key, value=None)
  if key.kind_of?(Hash)
    tk_call_without_enc(@chart, 'dotconfig',
                        _get_eval_enc_str(series), *hash_kv(key, true))
  else
    tk_call(@chart, 'dotconfig', series, "-#{key}", value)
  end
  self
end

#grid_cells(xcrd, ycrd) ⇒ Object



416
417
418
419
420
421
422
# File 'lib/tkextlib/tcllib/plotchart.rb', line 416

def grid_cells(xcrd, ycrd)
  xcrd = array2tk_list(xcrd) if xcrd.kind_of?(Array)
  ycrd = array2tk_list(ycrd) if ycrd.kind_of?(Array)

  tk_call_without_enc(@chart, 'grid', xcrd, ycrd)
  self
end

#interval(series, xcrd, ymin, ymax, ycenter = None) ⇒ Object



449
450
451
452
# File 'lib/tkextlib/tcllib/plotchart.rb', line 449

def interval(series, xcrd, ymin, ymax, ycenter=None)
  tk_call(@chart, 'interval', series, xcrd, ymin, ymax, ycenter)
  self
end

#plot(series, x, y) ⇒ Object



374
375
376
377
# File 'lib/tkextlib/tcllib/plotchart.rb', line 374

def plot(series, x, y)
  tk_call_without_enc(@chart, 'plot', _get_eval_enc_str(series), x, y)
  self
end

#rchart(series, xcrd, ycrd) ⇒ Object



443
444
445
446
447
# File 'lib/tkextlib/tcllib/plotchart.rb', line 443

def rchart(series, xcrd, ycrd)
  tk_call_without_enc(@chart, 'rchart',
                      _get_eval_enc_str(series), xcrd, ycrd)
  self
end

#rescale(xscale, yscale) ⇒ Object

xscale|yscale => [newmin, newmax, newstep]



432
433
434
435
# File 'lib/tkextlib/tcllib/plotchart.rb', line 432

def rescale(xscale, yscale) # xscale|yscale => [newmin, newmax, newstep]
  tk_call_without_enc(@chart, 'rescale', xscale, yscale)
  self
end

#trend(series, xcrd, ycrd) ⇒ Object



437
438
439
440
441
# File 'lib/tkextlib/tcllib/plotchart.rb', line 437

def trend(series, xcrd, ycrd)
  tk_call_without_enc(@chart, 'trend',
                      _get_eval_enc_str(series), xcrd, ycrd)
  self
end

#vector(series, xcrd, ycrd, ucmp, vcmp) ⇒ Object



471
472
473
474
475
# File 'lib/tkextlib/tcllib/plotchart.rb', line 471

def vector(series, xcrd, ycrd, ucmp, vcmp)
  tk_call_without_enc(@chart, 'vector', _get_eval_enc_str(series),
                      xcrd, ycrd, ucmp, vcmp)
  self
end

#vectorconfig(series, key, value = None) ⇒ Object



461
462
463
464
465
466
467
468
469
# File 'lib/tkextlib/tcllib/plotchart.rb', line 461

def vectorconfig(series, key, value=None)
  if key.kind_of?(Hash)
    tk_call_without_enc(@chart, 'vectorconfig',
                        _get_eval_enc_str(series), *hash_kv(key, true))
  else
    tk_call(@chart, 'vectorconfig', series, "-#{key}", value)
  end
  self
end