Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Plot functions with simple syntax

Project Description
Fplot: Function plots with less code
====================================

A thin wrapper for matplotlib

Fplot's goal is to provide simple syntax for plotting functions, with sensible
defaults. Matplotlib is powerful, but has awkward syntax, odd default display settings,
and requires setting up data arrays manually. Making pretty function plots requires
multiple lines of code. Fplot aims to fix this; it's especially suited for visualizing
functions when learning math.

Python 3 only.


Included functions
------------------

- plot: One input, one output.
- parametric: One input, two or three outputs. If three, use a 3d graph.
- contour: Two inputs, one output.
- surface: Two inputs, one output.
- vector: Two inputs, two outputs.
- vector3d: Three inputs, three outputs.
- polar: One input (angle), two outputs (radius)

Bonus functions
---------------

-plot2: Smoothed API for matplotlib 2d plotting that works properly in Jupyter notebooks.
ie syntax like plt.plot, which doesn't work properly in Jupyter.
Arguments: (args, marker='b-', linewidth: float=2.0, grid: bool=False, color: str=None,
title: str=None, equal_aspect: bool=False, style: str=None, show: bool=True)
-imshow: Like plot2, but as a replacement for plt.imshow.


Installation
------------

.. code-block:: python

pip install fplot


Basic documentation
-------------------

`Examples
<https://github.com/David-OConnor/fplot/blob/master/examples.ipynb/>`_


The only required arguments for fplot funcs are the function to plot, and the
min and max ranges. Example optional keyword arguments are shown. Example output
is shown in the link above.

For most plotting functions, you can plot multiple functions at once by passing
a list or tuple as the first argument.

Show a graph (1 input, 1 output)

.. code-block:: python

f = lambda x: x**2 + 2
fplot.plot(f, -10, 10, title='Hello world')


Show a contour plot (2 inputs, 1 output)

.. code-block:: python

g = lambda x, y: x**2 + y**2 + 10
fplot.contour(g, -10, 10, equal_aspect=True)


Show a surface plot (2 inputs, 1 output)

.. code-block:: python

g = lambda x, y: x**2 + y**2 + 10
fplot.surface(g, -10, 10)


Show a 2d parametric plot (1 input, 2 outputs)

.. code-block:: python

h = lambda t: (np.sin(t), np.cos(t))
fplot.parametric(h, 0, Ï„, equal_aspect=True, color='m')


Show a 3d parametric plot (1 input, 3 outputs)

.. code-block:: python

i = lambda t: (np.sin(t), np.cos(t), t**2)
fplot.parametric(i, 0, 20, color='red')


Show a 2d vector plot (2 inputs, 2 outputs)

.. code-block:: python

f = lambda x, y: (x**2 + y, y**2 * cos(x))
fplot.vector(f, -10, 10, stream=False)


Show a 3d vector plot (3 inputs, 3 outputs)

.. code-block:: python

f = lambda x, y, z: (x**2, y**2, z)
fplot.vector3d(f, -10, 10)


Show a 2d polar plot (1 input, 1 output)

.. code-block:: python

f = lambda theta: np.sin(3*theta)
fplot.polar(f, 0, tau, color='purple')


Optional arguments:
- show: Defaults to True. Instantly display the plot. If False, return the axis object.
- resolution: Controls how many points to draw, based on function input. Higher resolution
allows more zooming, but may lower performance.
- color: (ie line color)
- linewidth: line width.
- y_min and y_max: (only for 2d input)
- theta_min and theta_max (only for polar plots)
- style: (ie from plt.use.style())
- grid: defaults to True
- equal_aspect: defaults to False
- title: Shown at the top of the plot
- stream: vector plot only; show a stream plot if True
- contours: surface plot only; show contour plots along each axis if True
- num_contours: contour plot only; set number of contour lines to draw. Defaults to 10.

Release History

Release History

This version
History Node

0.2.2

History Node

0.2.1

History Node

0.1.1

History Node

0.1

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
fplot-0.2.2-py3-none-any.whl (9.8 kB) Copy SHA256 Checksum SHA256 py3 Wheel Sep 15, 2017
fplot-0.2.2.tar.gz (6.7 kB) Copy SHA256 Checksum SHA256 Source Sep 15, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting