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, Fontchooser, 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_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

__item_cget_cmd, __item_config_cmd, __item_confinfo_cmd, #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__, _replace_toplevel_aliases, add_kinsoku, backup_current_topdef, bell, bell_on_display, const_missing, current_grabs, cursor_display, default_widget_set, default_widget_set=, define_topalias, define_topobj, 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, regist_sym_for_loaded_file, replace_topalias, replace_topobj, #root, set_topalias, 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, topalias_defined?, toplevel_aliases_on_widget_set, topobj_defined?, 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::DND

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

Methods included from Tk::TkDND::Shape

package_name, package_patchlevel, package_version, #shape_bounds, #shape_get, #shape_offset, #shape_set, #shape_update, 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.



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

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



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

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



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

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



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

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



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

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



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

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



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

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



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

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



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

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



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

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



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

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



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

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

#plot(series, x, y) ⇒ Object



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

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



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

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]



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

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

#trend(series, xcrd, ycrd) ⇒ Object



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

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



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

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



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

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