Skip to content

Commit 4ac76a7

Browse files
committed
fix geom inputs
1 parent 1946c0b commit 4ac76a7

File tree

1 file changed

+61
-18
lines changed
  • src/python_ggplot/public_interface

1 file changed

+61
-18
lines changed

Diff for: src/python_ggplot/public_interface/geom.py

+61-18
Original file line numberDiff line numberDiff line change
@@ -146,22 +146,29 @@ def geom_point(
146146

147147

148148
def geom_error_bar(
149-
aes: Aesthetics = field(default_factory=Aesthetics),
150-
data: pd.DataFrame = field(default_factory=pd.DataFrame),
149+
aes: Optional[Aesthetics] = None,
150+
data: Optional[pd.DataFrame] = None,
151151
color: PossibleColor = None,
152152
size: PossibleFloat = None,
153153
line_type: LINE_TYPE_VALUES = "none_type",
154154
error_bar_kind: ERROR_BAR_KIND_VALUES = "linest",
155155
stat: STAT_TYPE_VALUES = "identity",
156156
bins: int = -1,
157157
bin_width: float = 0.0,
158-
breaks: List[float] = field(default_factory=list),
158+
breaks: Optional[List[float]] = None,
159159
bin_position: BIN_POSITION_VALUES = "none",
160160
position: POSITION_VALUES = "identity",
161161
bin_by: BIN_BY_VALUES = "full",
162162
density: bool = False,
163163
alpha: Optional[float] = None,
164164
) -> "Geom":
165+
if aes is None:
166+
aes = Aesthetics()
167+
if data is None:
168+
data = pd.DataFrame()
169+
if breaks is None:
170+
breaks = []
171+
165172
df_opt = data if len(data) > 0 else None
166173
bin_position_ = BinPositionType.eitem(bin_position)
167174
stat_ = StatType.eitem(stat)
@@ -195,21 +202,28 @@ def geom_error_bar(
195202

196203

197204
def geom_linerange(
198-
aes: Aesthetics = field(default_factory=Aesthetics),
199-
data: pd.DataFrame = field(default_factory=pd.DataFrame),
205+
aes: Optional[Aesthetics] = None,
206+
data: Optional[pd.DataFrame] = None,
200207
color: PossibleColor = None,
201208
size: PossibleFloat = None,
202209
line_type: LINE_TYPE_VALUES = "none_type",
203210
stat: STAT_TYPE_VALUES = "identity",
204211
bins: int = -1,
205212
bin_width: float = 0.0,
206-
breaks: List[float] = field(default_factory=list),
213+
breaks: Optional[List[float]] = None,
207214
bin_position: BIN_POSITION_VALUES = "none",
208215
position: POSITION_VALUES = "identity",
209216
bin_by: BIN_BY_VALUES = "full",
210217
density: bool = False,
211218
alpha: Optional[float] = None,
212219
) -> "Geom":
220+
if aes is None:
221+
aes = Aesthetics()
222+
if data is None:
223+
data = pd.DataFrame()
224+
if breaks is None:
225+
breaks = []
226+
213227
df_opt = data if len(data) > 0 else None
214228
bin_position_ = BinPositionType.eitem(bin_position)
215229
stat_ = StatType.eitem(stat)
@@ -304,6 +318,7 @@ def geom_line(
304318
data = pd.DataFrame()
305319
if aes is None:
306320
aes = Aesthetics()
321+
307322
df_opt = data if len(data) > 0 else None
308323
bin_position_ = BinPositionType.eitem(bin_position)
309324
stat_ = StatType.eitem(stat)
@@ -339,16 +354,16 @@ def geom_line(
339354

340355

341356
def geom_smooth(
342-
aes: Aesthetics = field(default_factory=Aesthetics),
343-
data: pd.DataFrame = field(default_factory=pd.DataFrame),
357+
aes: Optional[Aesthetics] = None,
358+
data: Optional[pd.DataFrame] = None,
344359
color: PossibleColor = None,
345360
size: PossibleFloat = None,
346361
line_type: LINE_TYPE_VALUES = "none_type",
347362
fill_color: PossibleColor = None,
348363
stat: STAT_TYPE_VALUES = "identity",
349364
bins: int = -1,
350365
bin_width: float = 0.0,
351-
breaks: List[float] = field(default_factory=list),
366+
breaks: Optional[List[float]] = None,
352367
bin_position: BIN_POSITION_VALUES = "none",
353368
position: POSITION_VALUES = "identity",
354369
bin_by: BIN_BY_VALUES = "full",
@@ -358,6 +373,13 @@ def geom_smooth(
358373
smoother: SMOOTH_METHOD_TYPE_VALUES = "svg",
359374
poly_ordder: int = 5,
360375
) -> "Geom":
376+
if breaks is None:
377+
breaks = []
378+
if data is None:
379+
data = pd.DataFrame()
380+
if aes is None:
381+
aes = Aesthetics()
382+
361383
df_opt = data if len(data) > 0 else None
362384
bin_position_ = BinPositionType.eitem(bin_position)
363385
stat_ = StatType.eitem(stat)
@@ -452,22 +474,29 @@ def geom_histogram(
452474

453475

454476
def geom_freqpoly(
455-
aes: Aesthetics = field(default_factory=Aesthetics),
456-
data: pd.DataFrame = field(default_factory=pd.DataFrame),
477+
aes: Optional[Aesthetics] = None,
478+
data: Optional[pd.DataFrame] = None,
457479
color: PossibleColor = None,
458480
size: PossibleFloat = None,
459481
alpha: Optional[float] = None,
460482
fill_color: PossibleColor = None,
461483
stat: STAT_TYPE_VALUES = "bin",
462484
bins: int = 30,
463485
bin_width: float = 0.0,
464-
breaks: List[float] = field(default_factory=list),
486+
breaks: Optional[List[float]] = None,
465487
bin_position: BIN_POSITION_VALUES = "center",
466488
position: POSITION_VALUES = "identity",
467489
bin_by: BIN_BY_VALUES = "full",
468490
density: bool = False,
469491
line_type: LINE_TYPE_VALUES = "solid",
470492
) -> "Geom":
493+
if breaks is None:
494+
breaks = []
495+
if data is None:
496+
data = pd.DataFrame()
497+
if aes is None:
498+
aes = Aesthetics()
499+
471500
df_opt = data if len(data) > 0 else None
472501
bin_position_ = BinPositionType.eitem(bin_position)
473502
stat_ = StatType.eitem(stat)
@@ -501,22 +530,29 @@ def geom_freqpoly(
501530

502531

503532
def geom_tile(
504-
aes: Aesthetics = field(default_factory=Aesthetics),
505-
data: pd.DataFrame = field(default_factory=pd.DataFrame),
533+
aes: Optional[Aesthetics] = None,
534+
data: Optional[pd.DataFrame] = None,
506535
color: PossibleColor = None,
507536
size: PossibleFloat = None,
508537
fill_color: PossibleColor = None,
509538
stat: STAT_TYPE_VALUES = "identity",
510539
bins: int = 30,
511540
bin_width: float = 0.0,
512-
breaks: List[float] = field(default_factory=list),
541+
breaks: Optional[List[float]] = None,
513542
bin_position: BIN_POSITION_VALUES = "none",
514543
position: POSITION_VALUES = "identity",
515544
bin_by: BIN_BY_VALUES = "full",
516545
density: bool = False,
517546
alpha: Optional[float] = None,
518547
line_width: PossibleFloat = 0.2,
519548
) -> "Geom":
549+
if breaks is None:
550+
breaks = []
551+
if data is None:
552+
data = pd.DataFrame()
553+
if aes is None:
554+
aes = Aesthetics()
555+
520556
df_opt = data if len(data) > 0 else None
521557
bin_position_ = BinPositionType.eitem(bin_position)
522558
stat_ = StatType.eitem(stat)
@@ -548,22 +584,29 @@ def geom_tile(
548584

549585

550586
def geom_raster(
551-
aes: Aesthetics = field(default_factory=Aesthetics),
552-
data: pd.DataFrame = field(default_factory=pd.DataFrame),
587+
aes: Optional[Aesthetics] = None,
588+
data: Optional[pd.DataFrame] = None,
553589
color: PossibleColor = None,
554590
size: PossibleFloat = None,
555591
fill_color: PossibleColor = None,
556592
stat: STAT_TYPE_VALUES = "identity",
557593
bins: int = 30,
558594
bin_width: float = 0.0,
559-
breaks: List[float] = field(default_factory=list),
595+
breaks: Optional[List[float]] = None,
560596
bin_position: BIN_POSITION_VALUES = "none",
561597
position: POSITION_VALUES = "identity",
562598
bin_by: BIN_BY_VALUES = "full",
563599
density: bool = False,
564600
alpha: Optional[float] = None,
565601
line_width: PossibleFloat = 0.2,
566602
) -> "Geom":
603+
if breaks is None:
604+
breaks = []
605+
if data is None:
606+
data = pd.DataFrame()
607+
if aes is None:
608+
aes = Aesthetics()
609+
567610
df_opt = data if len(data) > 0 else None
568611
bin_position_ = BinPositionType.eitem(bin_position)
569612
stat_ = StatType.eitem(stat)

0 commit comments

Comments
 (0)