Your First Plot with Biggles

The easiest way to start plotting with biggles is to use the convenience functions:

from biggles import plot

plot(x, y)

See the documentation here.

Jupyter Notebooks

If you are working in a jupyter notebook, simply typing the name of the plot object (returned by the function above or you can declare one below) and enter will produce an inline plot. You can control the resolution of the inline plot by setting the dpi attribute.

p.dpi=100
p

The Object-Oriented Interface

For more complicated plots, biggles has a simple, object-oriented interface. You declare containers and then add components to them. Let's make out first plot with biggles!

First, you instantiate a container. In this example, we will use a FramedPlot.

import biggles

p = biggles.FramedPlot()

We can set axis ranges, aspect ratios (and other properties) of the FramedPlot using its attributes:

p.xrange = 0, 100
p.yrange = 0, 100
p.aspect_ratio = 1

Now, let's make some data to plot:

import numpy
x = numpy.arange(0, 100, 5)
yA = numpy.random.normal(40, 10, (len(x),))
yB = x + numpy.random.normal(0, 5, (len(x),))

We can add this data to the plot by instantiating Points objects:

a = biggles.Points(x, yA, type="circle")
a.label = "a points"

b = biggles.Points(x, yB)
b.label = "b points"
b.style(type="filled circle")

Notice here we have set labels for the points and have used the style method to set the style of the points. See the documentation to see all of the style options.

Let's instantiate a Slope component to use for data annotation:

l = biggles.Slope(1, type="dotted")
l.label = "slope"

Further, we would like a PlotKey for our labels:

k = biggles.PlotKey(.1, .9)
k += a, b, l

Finally, let's add these components to the plot, display it in an X window, and then write a copy to disk:

p += l, a, b, k
p.show()
p.write("example.pdf")

These steps will produce a plot that looks like this:

Example Plot

Next Steps

This example showcases only a small fraction of what biggles can do. See the Reference Guide and the examples for more information.