552 lines
19 KiB
Python
552 lines
19 KiB
Python
# /usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
|
|
# This file contains all the main plotext functions available externally to the user
|
|
|
|
##############################################
|
|
########### Initialisation #############
|
|
##############################################
|
|
|
|
import plotext._doc
|
|
from plotext._doc_utils import documentation as doc
|
|
from plotext._doc_utils import add
|
|
|
|
from ._figure import _figure_class
|
|
from time import sleep as _sleep
|
|
import plotext._global as _glob
|
|
from plotext import __version__
|
|
import plotext._utility as _ut
|
|
|
|
_figure = _glob.figure # the main figure at top level (defined in _global.py because it is useful also there)
|
|
|
|
##############################################
|
|
######### Subplots Functions ###########
|
|
##############################################
|
|
|
|
def subplots(rows = None, cols = None):
|
|
sub = _figure._active.subplots(rows, cols)
|
|
_figure.show() if _figure._interactive else None
|
|
return sub
|
|
|
|
def subplot(row = None, col = None):
|
|
sub = _figure.subplot(row, col)
|
|
_figure.show() if _figure._interactive else None
|
|
return sub
|
|
|
|
def main():
|
|
return _figure.main()
|
|
|
|
def active():
|
|
return _figure._active
|
|
|
|
##############################################
|
|
####### Outside Set Functions ##########
|
|
##############################################
|
|
|
|
def interactive(interactive = None):
|
|
_figure._set_interactive(interactive)
|
|
|
|
def plot_size(width = None, height = None):
|
|
size = _figure._active.plot_size(width, height)
|
|
_figure.show() if _figure._interactive else None
|
|
return size
|
|
plotsize = plot_size
|
|
|
|
def limit_size(width = None, height = None):
|
|
#_figure._master._set_size()
|
|
_figure._master._limit_size(width, height)
|
|
limitsize = limit_size
|
|
|
|
def take_min():
|
|
_figure._active.take_min()
|
|
takemin = take_min
|
|
|
|
def title(label):
|
|
_figure._active.title(label)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def xlabel(label = None, xside = None):
|
|
_figure._active.xlabel(label = label, xside = xside)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def ylabel(label = None, yside = None):
|
|
_figure._active.ylabel(label = label, yside = yside)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def xlim(left = None, right = None, xside = None):
|
|
_figure._active.xlim(left = left, right = right, xside = xside)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def ylim(lower = None, upper = None, yside = None):
|
|
_figure._active.ylim(lower = lower, upper = upper, yside = yside)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def xscale(scale = None, xside = None):
|
|
_figure._active.xscale(scale = scale, xside = xside)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def yscale(scale = None, yside = None):
|
|
_figure._active.yscale(scale = scale, yside = yside)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def xticks(ticks = None, labels = None, xside = None):
|
|
_figure._active.xticks(ticks = ticks, labels = labels, xside = xside)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def yticks(ticks = None, labels = None, yside = None):
|
|
_figure._active.yticks(ticks = ticks, labels = labels, yside = yside)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def xfrequency(frequency = None, xside = None):
|
|
_figure._active.xfrequency(frequency = frequency, xside = xside)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def yfrequency(frequency = None, yside = None):
|
|
_figure._active.yfrequency(frequency = frequency, yside = yside)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def xreverse(reverse = None, xside = None):
|
|
_figure._active.xreverse(reverse = reverse, xside = xside)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def yreverse(reverse = None, yside = None):
|
|
_figure._active.yreverse(reverse = reverse, yside = yside)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def xaxes(lower = None, upper = None):
|
|
_figure._active.xaxes(lower = lower, upper = upper)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def yaxes(left = None, right = None):
|
|
_figure._active.yaxes(left = left, right = right)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def frame(frame = None):
|
|
_figure._active.frame(frame = frame)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def grid(horizontal = None, vertical = None):
|
|
_figure._active.grid(horizontal = horizontal, vertical = vertical)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def canvas_color(color = None):
|
|
_figure._active.canvas_color(color)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def axes_color(color = None):
|
|
_figure._active.axes_color(color)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def ticks_color(color = None):
|
|
_figure._active.ticks_color(color)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def ticks_style(style = None):
|
|
_figure._active.ticks_style(style)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def theme(theme = None):
|
|
_figure._active.theme(theme)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
##############################################
|
|
########### Clear Functions ############
|
|
##############################################
|
|
|
|
def clear_figure():
|
|
_figure._active.clear_figure()
|
|
_figure.show() if _figure._interactive else None
|
|
clf = clear_figure
|
|
|
|
def clear_data():
|
|
_figure._active.clear_data()
|
|
_figure.show() if _figure._interactive else None
|
|
cld = clear_data
|
|
|
|
def clear_color():
|
|
_figure._active.clear_color()
|
|
_figure.show() if _figure._interactive else None
|
|
clc = clear_color
|
|
|
|
def clear_terminal(lines = None):
|
|
_figure._active.clear_terminal(lines = lines)
|
|
clt = clear_terminal
|
|
|
|
##############################################
|
|
###### Main Plotting Functions #########
|
|
##############################################
|
|
|
|
def scatter(*args, marker = None, color = None, style = None, fillx = None, filly = None, xside = None, yside = None, label = None):
|
|
_figure._active.scatter(*args, xside = xside, yside = yside, marker = marker, color = color, style = style, fillx = fillx, filly = filly, label = label)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def plot(*args, marker = None, color = None, style = None, fillx = None, filly = None, xside = None, yside = None, label = None):
|
|
_figure._active.plot(*args, xside = xside, yside = yside, marker = marker, color = color, fillx = fillx, filly = filly, label = label)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def candlestick(dates, data, xside = None, yside = None, orientation = None, colors = None, label = None):
|
|
_figure._active.candlestick(dates, data, xside = xside, yside = yside, orientation = orientation, colors = colors, label = label)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def bar(*args, marker = None, color = None, fill = None, width = None, orientation = None, minimum = None, reset_ticks = None, xside = None, yside = None, label = None):
|
|
_figure._active.bar(*args, xside = xside, yside = yside, marker = marker, color = color, fill = fill, width = width, orientation = orientation, label = label, minimum = minimum, reset_ticks = reset_ticks)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def simple_bar(*args, marker = None, color = None, title = None, width = None):
|
|
_glob.simple_bar(*args, width = width, marker = marker, color = color, title = title)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def multiple_bar(*args, marker = None, color = None, fill = None, width = None, orientation = None, minimum = None, reset_ticks = None, xside = None, yside = None, labels = None):
|
|
_figure._active.multiple_bar(*args, xside = xside, yside = yside, marker = marker, color = color, fill = fill, width = width, orientation = orientation, labels = labels, minimum = minimum, reset_ticks = reset_ticks)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def simple_multiple_bar(*args, marker = None, colors = None, title = None, width = None, labels = None):
|
|
_glob.simple_multiple_bar(*args, width = width, marker = marker, colors = colors, title = title, labels = labels)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def stacked_bar(*args, marker = None, color = None, fill = None, width = None, orientation = None, minimum = None, reset_ticks = None, xside = None, yside = None, labels = None):
|
|
_figure._active.stacked_bar(*args, xside = xside, yside = yside, marker = marker, color = color, fill = fill, width = width, orientation = orientation, labels = labels, minimum = minimum, reset_ticks = reset_ticks)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def simple_stacked_bar(*args, marker = None, colors = None, title = None, width = None, labels = None):
|
|
_glob.simple_stacked_bar(*args, width = width, marker = marker, colors = colors, title = title, labels = labels)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def hist(data, bins = None, marker = None, color = None, fill = None, norm = None, width = None, orientation = None, minimum = None, xside = None, yside = None, label = None):
|
|
_figure._active.hist(data, bins = bins, norm = norm, xside = xside, yside = yside, marker = marker, color = color, fill = fill, width = width, orientation = orientation, label = label, minimum = minimum)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def candlestick(dates, data, colors = None, orientation = None, xside = None, yside = None, label = None):
|
|
_figure._active.candlestick(dates, data, xside = xside, yside = yside, orientation = orientation, colors = colors, label = label)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def box(*args, quintuples = None, colors = None, fill = None, width = None, orientation = None, minimum = None, reset_ticks = None, xside = None, yside = None, label = None):
|
|
_figure._active.box(*args, xside = xside, yside = yside, orientation = orientation, colors = colors, label = label, fill=fill, width = width, minimum = minimum, reset_ticks = reset_ticks, quintuples = quintuples)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
##############################################
|
|
########### Plotting Tools #############
|
|
##############################################
|
|
|
|
def error(*args, xerr = None, yerr = None, color = None, xside = None, yside = None, label = None):
|
|
_figure.error(*args, xerr = xerr, yerr = yerr, xside = xside, yside = yside, color = color, label = label)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def event_plot(data, marker = None, color = None, orientation = None, side = None):
|
|
_figure._active.event_plot(data, orientation = orientation, marker = marker, color = color, side = side)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
eventplot = event_plot
|
|
|
|
def vertical_line(coordinate, color = None, xside = None):
|
|
_figure._active.vertical_line(coordinate, color = color, xside = xside)
|
|
_figure.show() if _figure._interactive else None
|
|
vline = vertical_line
|
|
|
|
def horizontal_line(coordinate, color = None, yside = None):
|
|
_figure._active.horizontal_line(coordinate, color = color, yside = yside)
|
|
_figure.show() if _figure._interactive else None
|
|
hline = horizontal_line
|
|
|
|
def text(label, x, y, color = None, background = None, style = None, orientation = None, alignment = None, xside = None, yside = None):
|
|
_figure._active.text(label, x, y, xside = xside, yside = yside, color = color, background = background, style = style, orientation = orientation, alignment = alignment)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def rectangle(x = None, y = None, marker = None, color = None, lines = None, fill = None, xside = None, yside = None, label = None):
|
|
_figure._active.rectangle(x = x, y = y, xside = xside, yside = yside, lines = lines, marker = marker, color = color, fill = fill, label = label)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def polygon(x = None, y = None, radius = None, sides = None, marker = None, color = None, lines = None, fill = None, xside = None, yside = None, label = None):
|
|
_figure._active.polygon(x = x, y = y, radius = radius, sides = sides, xside = xside, yside = yside, lines = lines, marker = marker, color = color, fill = fill, label = label)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def confusion_matrix(actual, predicted, color = None, style = None, labels = None):
|
|
_figure._active.confusion_matrix(actual, predicted, labels = labels, color = color, style = style)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
cmatrix = confusion_matrix
|
|
|
|
def indicator(value, label = None, color = None, style = None):
|
|
_figure._active.indicator(value, label = label, color = color, style = style)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
##############################################
|
|
############## 2D Plots ################
|
|
##############################################
|
|
|
|
def matrix_plot(matrix, marker = None, style = None, fast = False):
|
|
_figure._active.matrix_plot(matrix, marker = marker, style = style, fast = fast)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def heatmap(dataframe, color = None, style=None):
|
|
_figure._active.heatmap(dataframe, color = color, style = style)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def image_plot(path, marker = None, style = None, fast = False, grayscale = False):
|
|
_figure._active.image_plot(path, marker = marker, style = style, grayscale = grayscale, fast = fast)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def play_gif(path):
|
|
_glob.play_gif(path)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def play_video(path, from_youtube = False):
|
|
_glob.play_video(path, from_youtube)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def play_youtube(url):
|
|
_glob.play_youtube(url)
|
|
_figure.show() if _figure._interactive else None
|
|
|
|
def get_youtube(url, path = None, log = True):
|
|
_glob.get_youtube(url, path, log)
|
|
|
|
##############################################
|
|
########## Build Functions #############
|
|
##############################################
|
|
|
|
def show():
|
|
_figure.show()
|
|
|
|
def build():
|
|
return _figure.build()
|
|
|
|
def sleep(time = 0):
|
|
_sleep(time)
|
|
|
|
def time(show = True):
|
|
return _figure._get_time(show)
|
|
|
|
def save_fig(path = None, append = False, keep_colors = False):
|
|
_figure.save_fig(path, append, keep_colors)
|
|
savefig = save_fig
|
|
|
|
def from_matplotlib(fig, marker = None):
|
|
_glob.from_matplotlib(fig, marker = marker)
|
|
|
|
##############################################
|
|
########## Date Functions #############
|
|
##############################################
|
|
|
|
def date_form(input_form = None, output_form = None):
|
|
_figure._active.date_form(input_form, output_form)
|
|
|
|
def set_time0(string, input_form = None):
|
|
_figure._active.set_time0(string, input_form = input_form)
|
|
|
|
def today_datetime():
|
|
return _figure._active.today_datetime()
|
|
|
|
def today_string(output_form = None):
|
|
return _figure._active.today_string(output_form)
|
|
|
|
def datetime_to_string(datetime, output_form = None):
|
|
return _figure._active.datetime_to_string(datetime, output_form = output_form)
|
|
|
|
def datetimes_to_strings(datetimes, output_form = None):
|
|
return _figure._active.datetimes_to_strings(datetimes, output_form = output_form)
|
|
|
|
datetimes_to_string = datetimes_to_strings
|
|
|
|
def string_to_datetime(string, input_form = None):
|
|
return _figure._active.string_to_datetime(string, input_form = input_form)
|
|
|
|
def string_to_time(string, input_form = None):##########ADD DOC############
|
|
return _figure._active.string_to_time(string, input_form = input_form)
|
|
|
|
def strings_to_time(string, input_form = None):##########ADD DOC############
|
|
return _figure._active.strings_to_time(string, input_form = input_form)
|
|
|
|
##############################################
|
|
########## File Functions ############
|
|
##############################################
|
|
|
|
script_folder = _ut.script_folder
|
|
|
|
def parent_folder(path, level = 1):
|
|
return _ut.parent_folder(path, level = level)
|
|
|
|
def join_paths(*args):
|
|
return _ut.join_paths(*args)
|
|
|
|
def save_text(text, path, log = True):
|
|
_ut.save_text(text, path, log = log)
|
|
|
|
def read_data(path, delimiter = None, columns = None, first_row = None, log = True):
|
|
return _ut.read_data(path, delimiter = delimiter, columns = columns, first_row = first_row, log = log)
|
|
|
|
def write_data(data, path, delimiter = None, columns = None, log = True):
|
|
_ut.write_data(data, path, delimiter = delimiter, columns = columns, log = log)
|
|
|
|
def download(url, path, log = True):
|
|
_ut.download(url, path, log)
|
|
|
|
def delete_file(path, log = True):
|
|
_ut.delete_file(path, log = log)
|
|
|
|
test_data_url = _glob.test_data_url
|
|
test_bar_data_url = _glob.test_bar_data_url
|
|
test_image_url = _glob.test_image_url
|
|
test_gif_url = _glob.test_gif_url
|
|
test_video_url = _glob.test_video_url
|
|
test_youtube_url = _glob.test_youtube_url
|
|
|
|
##############################################
|
|
########## Other Functions ############
|
|
##############################################
|
|
|
|
def colorize(string, color = None, style = None, background = None, show = False):
|
|
return _ut.colorize(string, color = color, style = style, background = background, show = show)
|
|
|
|
def uncolorize(string):
|
|
return _ut.uncolorize(string)
|
|
|
|
def terminal_size():
|
|
return _ut.terminal_size()
|
|
|
|
ts = terminal_size
|
|
|
|
def terminal_width():
|
|
return _ut.terminal_width()
|
|
|
|
tw = terminal_width
|
|
|
|
def terminal_height():
|
|
return _ut.terminal_height()
|
|
|
|
th = terminal_height
|
|
|
|
def sin(periods = 2, length = 200, amplitude = 1, phase = 0, decay = 0):
|
|
return _ut.sin(periods = periods, length = length, amplitude = amplitude, phase = phase, decay = decay)
|
|
|
|
def square(periods = 2, length = 200, amplitude = 1):
|
|
return _ut.square(periods = periods, length = length, amplitude = amplitude)
|
|
|
|
def transpose(data):
|
|
return _ut.transpose(data)
|
|
|
|
colors = _glob.colors
|
|
|
|
styles = _glob.styles
|
|
|
|
markers = _glob.markers
|
|
|
|
themes = _glob.themes
|
|
|
|
test = _glob.test
|
|
|
|
version = __version__
|
|
|
|
platform = _ut.platform
|
|
|
|
##############################################
|
|
############ Docstrings ###############
|
|
##############################################
|
|
|
|
add(subplots)
|
|
add(subplot)
|
|
add(main)
|
|
add(active)
|
|
|
|
add(interactive)
|
|
add(plot_size)
|
|
add(limit_size)
|
|
add(take_min)
|
|
|
|
add(title)
|
|
add(xlabel)
|
|
add(ylabel)
|
|
add(xlim)
|
|
add(ylim)
|
|
add(xscale)
|
|
add(yscale)
|
|
add(xticks)
|
|
add(yticks)
|
|
add(xfrequency)
|
|
add(yfrequency)
|
|
add(xreverse)
|
|
add(yreverse)
|
|
add(xaxes)
|
|
add(yaxes)
|
|
add(frame)
|
|
add(grid)
|
|
add(canvas_color)
|
|
add(axes_color)
|
|
add(ticks_color)
|
|
add(ticks_style)
|
|
add(theme)
|
|
|
|
add(clear_figure)
|
|
add(clear_data)
|
|
add(clear_color)
|
|
add(clear_terminal)
|
|
|
|
add(scatter)
|
|
add(plot)
|
|
add(candlestick)
|
|
add(bar)
|
|
add(simple_bar)
|
|
add(multiple_bar)
|
|
add(simple_multiple_bar)
|
|
add(stacked_bar)
|
|
add(simple_stacked_bar)
|
|
add(simple_bar)
|
|
add(hist)
|
|
add(box)
|
|
|
|
add(error)
|
|
add(event_plot)
|
|
add(vertical_line)
|
|
add(horizontal_line)
|
|
add(text)
|
|
add(rectangle)
|
|
add(polygon)
|
|
add(confusion_matrix)
|
|
add(indicator)
|
|
|
|
add(matrix_plot)
|
|
add(image_plot)
|
|
|
|
add(play_gif)
|
|
add(play_video)
|
|
add(play_youtube)
|
|
add(get_youtube)
|
|
|
|
add(show)
|
|
add(build)
|
|
add(sleep)
|
|
add(time)
|
|
add(save_fig)
|
|
add(from_matplotlib)
|
|
|
|
add(date_form)
|
|
add(set_time0)
|
|
add(today_datetime)
|
|
add(today_string)
|
|
add(datetime_to_string)
|
|
add(datetimes_to_strings)
|
|
add(string_to_datetime)
|
|
|
|
add(script_folder)
|
|
add(parent_folder)
|
|
add(join_paths)
|
|
add(save_text)
|
|
add(read_data)
|
|
add(write_data)
|
|
add(download)
|
|
add(delete_file)
|
|
|
|
add(colorize)
|
|
add(uncolorize)
|
|
add(terminal_size)
|
|
add(terminal_width)
|
|
add(terminal_height)
|
|
add(sin)
|
|
add(square)
|
|
add(transpose)
|
|
|
|
add(colors)
|
|
add(styles)
|
|
add(markers)
|
|
add(themes)
|
|
add(test) |