33"""
44
55import dataclasses
6+ from collections .abc import Sequence
67from typing import Literal
78
89from pygmt .alias import Alias
@@ -93,6 +94,12 @@ class _Axes(BaseParam):
9394 fill : str | None = None
9495 title : str | None = None
9596 subtitle : str | None = None
97+ box : bool = False
98+ pen : str | bool = False
99+ yzfill : str | None = None
100+ xzfill : str | None = None
101+ xyfill : str | None = None
102+ pole : Sequence [float | str ] | None = None
96103
97104 @property
98105 def _aliases (self ):
@@ -101,6 +108,12 @@ def _aliases(self):
101108 Alias (self .fill , name = "fill" , prefix = "+g" ),
102109 Alias (self .title , name = "title" , prefix = "+t" ),
103110 Alias (self .subtitle , name = "subtitle" , prefix = "+s" ),
111+ Alias (self .box , name = "box" , prefix = "+b" ),
112+ Alias (self .pen , name = "pen" , prefix = "+w" ),
113+ Alias (self .yzfill , name = "yzfill" , prefix = "+y" ),
114+ Alias (self .xzfill , name = "xzfill" , prefix = "+x" ),
115+ Alias (self .xyfill , name = "xyfill" , prefix = "+z" ),
116+ Alias (self .pole , name = "pole" , prefix = "+o" ),
104117 ]
105118
106119
@@ -142,6 +155,25 @@ class Frame(BaseParam):
142155 #: ``title`` to be set.
143156 subtitle : str | None = None
144157
158+ #: [For 3-D plots only] Draw the foreground lines of the 3-D cube .
159+ box : bool = False
160+
161+ #: [For 3-D plots only] If ``True``, draw the outlines of the x-z and y-z planes.
162+ #: Set pen to specify different pen attributes [default is
163+ #: :gmt-term:`MAP_GRID_PEN_PRIMARY`].
164+ pen : str | bool = False
165+
166+ #: Fill the y-z, x-z, or x-y planes with specified color/pattern.
167+ yzfill : str | None = None
168+ xzfill : str | None = None
169+ xyfill : str | None = None
170+
171+ #: Specify another pole (*lon*, *lat) to produce oblique gridlines about the
172+ #: specified pole rather than the default [default references to the North pole].
173+ #: Ignored if no gridlines are requested. Note: One cannot specify oblique gridlines
174+ #: for non-geographic projections as well as the oblique Mercator projection.
175+ pole : Sequence [float | str ] | None = None
176+
145177 def _validate (self ):
146178 """
147179 Validate the parameters.
@@ -194,6 +226,12 @@ def _aliases(self):
194226 fill = self .fill ,
195227 title = self .title ,
196228 subtitle = self .subtitle ,
229+ box = self .box ,
230+ pen = self .pen ,
231+ yzfill = self .yzfill ,
232+ xzfill = self .xzfill ,
233+ xyfill = self .xyfill ,
234+ pole = self .pole ,
197235 )
198236 ),
199237 ]
0 commit comments