This PR adds StringIO support to Figure.legend, so that we can pass a StringIO object containing the legend specification to Figure.legend.
Need to wait for #3326.
Closes #571 and #576.
Example
import io
import pygmt
spec = io.StringIO(
"""
G -0.1i
H 24p,Times-Roman My Map Legend
D 0.2i 1p
N 2
V 0 1p
S 0.1i c 0.15i p300/12 0.25p 0.3i This circle is hachured
S 0.1i e 0.15i yellow 0.25p 0.3i This ellipse is yellow
S 0.1i w 0.15i green 0.25p 0.3i This wedge is green
S 0.1i f 0.25i blue 0.25p 0.3i This is a fault
S 0.1i - 0.15i - 0.25p,- 0.3i A contour
S 0.1i v 0.25i magenta 0.5p 0.3i This is a vector
S 0.1i i 0.15i cyan 0.25p 0.3i This triangle is boring
D 0.2i 1p
V 0 1p
N 1
M 5 5 600+u+f
G 0.05i
I @SOEST_block4.png 3i CT
G 0.05i
G 0.05i
L 9p,Times-Roman R Smith et al., @%5%J. Geophys. Res., 99@%%, 2000
G 0.1i
T Let us just try some simple text that can go on a few lines.
T There is no easy way to predetermine how many lines may be required
T so we may have to adjust the height to get the right size box.
""")
fig = pygmt.Figure()
fig.legend(spec, region=[0, 10, 0, 10], projection="M6i", position="x0.5i/0.5i+w5i+jBL+l1.2")
fig.show()
Description of proposed changes
This PR adds StringIO support to
Figure.legend
, so that we can pass a StringIO object containing the legend specification toFigure.legend
.Need to wait for #3326.Closes #571 and #576.
Example