Applying transparency [new]

As of version 4.4, gnuplot supports transparency, which allows us to create attractive and sophisticated effects by setting the opacity of colors in various contexts. This technique is most useful when drawing with styles such as filledcurves using areas of solid color:

Applying transparency [new]

How to do it…

The following script will produce the previous figure:

set term svg
set out 'file.svg'
set style fill transparent solid 0.3
plot [0:pi] sin(x)**2 with filledcurves above y1=0 lc rgb '#00ffff', 0.75*cos(2*x)**2 with filledcurves above y1=0 lc rgb '#aa00aa'

How it works…

We have included an explicit set term command in this recipe because transparency effects are only supported so far by a limited number of terminals. The SVG terminal is a recent addition to the gnuplot repertoire and is the new standard for resolution independent graphics on the Web; it has full support for transparency and produces high quality renderings that scale to any size without pixelation. Also, an SVG graph is an XML file that can be edited in a pinch and included inline in xhtml webpages.

You must remember that the file is not completely written out (the final SVG closing tag is missing) until either gnuplot is quit or another set out command is issued, as gnuplot does not know whether additional plotting commands are coming.

The highlighted line sets the fill style to be solid (rather than a pattern) and selects transparency with an opacity of 0.3, where an opacity of 0 is invisible and an opacity of 1 is opaque. The subsequent plotting commands should be familiar; we have used the filledcurves style from Chapter 1, Plotting Curves, Boxes, Points, and moreand specified colors as explained in the earlier recipe Color your curves.

There's more…

Patterns can be transparent, too. Instead of saying set style fill transparent solid 0.3 we can say set style fill transparency pattern n, where the desired fill pattern is substituted for n. This will allow plot elements to appear behind fill patterns, showing through the "spaces" in the patterns. If used with care this can be useful, but can easily lead to a confusing or busy graph compared with the clean effect of transparent solid colors. Also, this is only supported by certain terminals, and not the same set that supports transparent colors. For example, the PostScript terminal supports transparent patterns, but not colors; the svg terminal does not support transparent patterns.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.166.149