From ebb61507473ce264bd495c499e19cddebf872b2c Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Sun, 13 Sep 2020 18:48:51 -0400 Subject: [PATCH 1/2] Add an example for different line styles --- doc/conf.py | 1 + examples/gallery/line/README.txt | 2 ++ examples/gallery/line/linestyles.py | 39 +++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 examples/gallery/line/README.txt create mode 100644 examples/gallery/line/linestyles.py 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..949740dc41a --- /dev/null +++ b/examples/gallery/line/linestyles.py @@ -0,0 +1,39 @@ +""" +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. +More line styles can be given 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. + +""" + +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 deafult line style +fig.plot(x=x, y=y) + +# Plot the lines using different line styles +fig.plot(x=x, y=y + 0.5, pen="1p,red,-") +fig.plot(x=x, y=y + 1.0, pen="2p,blue,.") +fig.plot(x=x, y=y + 1.5, pen="3p,tomato,4_2:2p") + +fig.plot(x=x, y=y - 0.5, pen="1p,red,-.") +fig.plot(x=x, y=y - 1.0, pen="2p,blue,..-") +fig.plot(x=x, y=y - 1.5, pen="3p,tomato,--.") + +fig.show() From e1a4852872746e6ed811a6dfbf0555c5fa8dbcc3 Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Sun, 13 Sep 2020 19:18:20 -0400 Subject: [PATCH 2/2] Add link to the GMT cookbook and improve line orders --- examples/gallery/line/linestyles.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/examples/gallery/line/linestyles.py b/examples/gallery/line/linestyles.py index 949740dc41a..d0a1f1daa52 100644 --- a/examples/gallery/line/linestyles.py +++ b/examples/gallery/line/linestyles.py @@ -3,8 +3,8 @@ ----------- 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. -More line styles can be given via the ``pen`` argument. +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. @@ -12,6 +12,9 @@ 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 @@ -24,16 +27,16 @@ fig = pygmt.Figure() fig.basemap(region=[0, 10, -3, 3], projection="X15c/8c", frame=["xaf", "yaf", "WSrt"]) -# Plot the line using the deafult line style +# 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 + 0.5, pen="1p,red,-") +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 + 1.5, pen="3p,tomato,4_2:2p") +fig.plot(x=x, y=y + 0.5, pen="1p,red,-.") -fig.plot(x=x, y=y - 0.5, pen="1p,red,-.") -fig.plot(x=x, y=y - 1.0, pen="2p,blue,..-") -fig.plot(x=x, y=y - 1.5, pen="3p,tomato,--.") +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()