A graph axis, 720 pixels high, and 960 width, with further space around it for graph labels - and should normally be set in an svg space of 1000 high, 1300 width. This widget has a container into which you would insert further Points or Lines widgets which contain the data to be plotted.
This is an SVG tag, width 1300, height 1000 with an Axis1 widget set within it:
This table lists the Responders called to produce this page:
skiwidgets,6702 | SubmitData | Sets up title and widget description |
skiwidgets,6704 | This page | This page is a template for the svggraphs.Axis1 widget |
This is a ShowCallData widget, which displays the contents of the skicall.call_data dictionary.
{}
Below is the Python file which populates this page.
import os from skipole import FailPage, GoTo, ValidateError, ServerError, ServeFile, PageData, SectionData def index(skicall): "Called by a SubmitData responder, and sets up the page" # the title and widget decription is in section 'header' which contains a # HeadText widget with name 'title' and a TextBlockPara widget with name 'widgetdesc' # It also has a ButtonLink2 widget with name 'tomodule' headersection = SectionData('header') headersection['title', 'large_text'] = 'Axis1' # A textblock contains the widget description ref = "widgets.svggraphs.Axis1" headersection['widgetdesc','textblock_ref'] = ref headersection['widgetdesc','text_refnotfound'] = f'Textblock reference {ref} not found' # link to this widgets module page headersection['tomodule','button_text'] = "Module: svggraphs" headersection['tomodule','link_ident'] = skicall.makepath('svggraphs') skicall.update(headersection) # this code file contents is placed in section 'codefile' which contains a # PreText widget with name 'pretext' codesection = SectionData('codefile') code = os.path.realpath(__file__) with open(code) as f: codesection['pretext', 'pre_text'] = f.read() skicall.update(codesection) # Set some points in the axis, using a Points widget pd = PageData() pd['points','values'] = [(10,10), (20,40), (30,60), (40,50), (70,30), (90,10)] skicall.update(pd)