"""This is the Bokeh charts interface. It gives you a high level API to build complex plot is a simple way. This is the Area builder which lets you build your Area charts just passing the arguments to the Chart class and calling the proper functions. """ #----------------------------------------------------------------------------- # Copyright (c) 2012 - 2014, Continuum Analytics, Inc. All rights reserved. # # Powered by the Bokeh Development Team. # # The full license is in the file LICENSE.txt, distributed with this software. #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- # Imports #----------------------------------------------------------------------------- from __future__ import absolute_import from bkcharts.builder import create_and_build from bkcharts.glyphs import AreaGlyph from .line_builder import LineBuilder #----------------------------------------------------------------------------- # Classes and functions #----------------------------------------------------------------------------- def Area(data=None, x=None, y=None, **kws): """ Create an area chart using :class:`AreaBuilder ` to render the geometry from values. Args: data (:ref:`userguide_charts_data_types`): table-like data x (str or list(str), optional): the column label to use for the x dimension y (str or list(str), optional): the column label to use for the y dimension In addition the the parameters specific to this chart, :ref:`userguide_charts_defaults` are also accepted as keyword parameters. Returns: :class:`Chart`: includes glyph renderers that generate the area glyphs Examples: .. bokeh-plot:: :source-position: above from bkcharts import Area, show, output_file # create some example data data = dict( python=[2, 3, 7, 5, 26, 221, 44, 233, 254, 265, 266, 267, 120, 111], pypy=[12, 33, 47, 15, 126, 121, 144, 233, 254, 225, 226, 267, 110, 130], jython=[22, 43, 10, 25, 26, 101, 114, 203, 194, 215, 201, 227, 139, 160], ) area = Area(data, title="Area Chart", legend="top_left", xlabel='time', ylabel='memory') output_file('area.html') show(area) """ kws['x'] = x kws['y'] = y return create_and_build(AreaBuilder, data, **kws) class AreaBuilder(LineBuilder): """This is the Area builder and it is in charge of generating glyph renderers that together produce an area chart. Essentially, we provide a way to ingest the data, make the proper calculations and push the references into a source object. We additionally make calculations for the ranges. And finally add the needed glyphs (markers) taking the references from the source. """ glyph = AreaGlyph