plotter/README.md

67 lines
2.3 KiB
Markdown
Raw Permalink Normal View History

2014-01-14 20:11:42 +01:00
# Plotter
2013-01-05 02:22:12 +01:00
2014-01-14 20:11:42 +01:00
## Application to plot functions in python 3.
2013-01-05 02:22:12 +01:00
2014-01-14 20:11:42 +01:00
### Info
2014-01-14 20:26:11 +01:00
An application to plot a function (points, piecewise or normal) using turtle graphics.
2014-01-14 20:11:42 +01:00
The application is structured in two modules: "graph.py" contains classes and functions for drawing while "plotter.py" is the GUI (tkinter) module that facilitates and speeds up the use.
graph.py is independent and can be used even without the graphical interface.
You can save the plot in svg format via [canvas2svg] (Link: http://wm.ite.pl/proj/canvas2svg/index.html).
2013-01-05 02:22:12 +01:00
2014-01-14 20:11:42 +01:00
### Instructions
2014-01-14 20:26:11 +01:00
**graph.py**:
2014-01-14 20:11:42 +01:00
2014-01-14 20:26:11 +01:00
* Import the module graph.py.
2014-01-14 20:11:42 +01:00
`import graph`
2014-01-14 20:26:11 +01:00
* Create a Cartesian plane instantiate an object "graph" by providing the lengths of the axes.
2014-01-14 20:11:42 +01:00
`plane = graph.graph(20,20)`
2014-01-14 20:26:11 +01:00
* Draw a function using the method draws providing a function, the interval in the domain, and color.
2014-01-14 20:11:42 +01:00
`plane.plot (lambda x: x**2-2*x+1, -10, 10, "#92182b")`
2014-01-14 20:26:11 +01:00
* Clean the graph.
2014-01-14 20:11:42 +01:00
`plane.clean()`
`Graph()` is subclass of turtle.Pen so you can use all the methods inherited.
2013-01-05 02:22:12 +01:00
2014-01-14 20:26:11 +01:00
**plotter.py**:
2014-01-14 20:11:42 +01:00
2014-01-14 20:26:11 +01:00
**Normal**:
2014-01-14 20:11:42 +01:00
2014-01-14 20:26:11 +01:00
* Enter the function in the first text box. Between the variable and the coefficients a * is not necessary.
  Use `^` for exponentiation and `|` for the absolute value |f(x)|.
`eg |cos(x)*1/2x|`
2014-01-14 20:11:42 +01:00
2014-01-14 20:26:11 +01:00
* Enter the range of the function to print in the second box.
`eg -10, 10`
2014-01-14 20:11:42 +01:00
2014-01-14 20:26:11 +01:00
* Enter the color in the third box. A string with the name of the color, a tuple that contains RGB numbers, #RGB color in hex.
`eg #a1a1a1`
2014-01-14 20:11:42 +01:00
2014-01-14 20:26:11 +01:00
**Points**:
* Insert the points of the function into a tuple of the form (x1, y2), (x2, y2).
`eg (0,0), (1,2), (2,4), (3,-3)`
* Enter the range of the function to print the second box.
`eg -10,10`
* Enter the color in the third box. A string with the name of the color, a tuple that contains RGB numbers, #RGB color in hex.
`eg #a1a1a1`
**Piecewise**:
* Enter the traits in a tuple type [f1(x), (range)], [f2(x), (range)].
`eg [(-x), (-100,0)], [(x), (0,100)]`
* Enter the range of the function to print the second box.
`eg -10.10`
2014-01-14 20:11:42 +01:00
* Enter the color in the third box. A string with the name of the color, a tuple that contains RGB numbers or #RGB color in hex.
2014-01-14 20:26:11 +01:00
`eg #a1a1a1`
2014-01-14 20:11:42 +01:00
You can use all the functions and constants defined in `math` module.
### License
2014-01-14 20:26:11 +01:00
Dual licensed under the MIT and GPL licenses:
http://www.opensource.org/licenses/mit-license.php
2014-01-14 20:11:42 +01:00
http://www.gnu.org/licenses/gpl.html