diff --git a/doc/conf.py b/doc/conf.py index c3a9e6ef388..2d878adee1f 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -60,6 +60,7 @@ "gallery_dirs": ["gallery", "tutorials", "projections"], "subsection_order": ExplicitOrder( [ + "../examples/gallery/line", "../examples/gallery/coast", "../examples/gallery/plot", "../examples/gallery/grid", diff --git a/examples/gallery/line/README.txt b/examples/gallery/line/README.txt new file mode 100644 index 00000000000..043f6ca6a79 --- /dev/null +++ b/examples/gallery/line/README.txt @@ -0,0 +1,2 @@ +Lines +----- diff --git a/examples/gallery/line/linestyles.py b/examples/gallery/line/linestyles.py new file mode 100644 index 00000000000..d0a1f1daa52 --- /dev/null +++ b/examples/gallery/line/linestyles.py @@ -0,0 +1,42 @@ +""" +Line styles +----------- + +The :meth:`pygmt.Figure.plot` method can plot lines in different styles. +The default line style is a 0.25-point wide, black, solid line, and can be +customized via the ``pen`` argument. + +A *pen* in GMT has three attributes: *width*, *color*, and *style*. +The *style* attribute controls the appearance of the line. +Giving “dotted” or “.” yields a dotted line, whereas a dashed pen is requested +with “dashed” or “-”. Also combinations of dots and dashes, like “.-” for a +dot-dashed line, are allowed. + +For more advanced *pen* attributes, see the GMT cookbook +:gmt-docs:`cookbook/features.html#wpen-attrib`. + +""" + +import numpy as np +import pygmt + +# Generate a sample line for plotting +x = np.linspace(0, 10, 500) +y = np.sin(x) + +fig = pygmt.Figure() +fig.basemap(region=[0, 10, -3, 3], projection="X15c/8c", frame=["xaf", "yaf", "WSrt"]) + +# Plot the line using the default line style +fig.plot(x=x, y=y) + +# Plot the lines using different line styles +fig.plot(x=x, y=y + 1.5, pen="1p,red,-") +fig.plot(x=x, y=y + 1.0, pen="2p,blue,.") +fig.plot(x=x, y=y + 0.5, pen="1p,red,-.") + +fig.plot(x=x, y=y - 0.5, pen="2p,blue,..-") +fig.plot(x=x, y=y - 1.0, pen="3p,tomato,--.") +fig.plot(x=x, y=y - 1.5, pen="3p,tomato,4_2:2p") + +fig.show()