Game HardBreakingOffspeed
SF@ARI (3/21/18) 1 1 3
SF@COL (5/29/18) 9 1 1
PHI@SF (6/3/18) 8 5 1
SF@WSH (6/9/18) 4 1 3
SF@MIA (6/14/18) 4 1 2
MIA@SF (6/19/18) 3 3 4
SD@SF (6/24/18) 7 2 1
SF@ARI (6/30/18) 7 4 0
STL@SF (7/6/18) 1 3 1
CHC@SF (7/11/18) 3 0 2
SF@OAK (7/20/18) 3 2 2
MIL@SF (7/26/18) 4 5 1
SF@SD (7/31/18) 4 2 3
HOU@SF (8/6/18) 2 6 1
PIT@SF (8/12/18) 2 2 1
TEX@SF (8/24/18) 7 2 2
ARI@SF (8/29/18) 4 1 3
SF@COL (9/4/18) 5 6 4
ATL@SF (9/10/18) 2 3 3
COL@SF (9/16/18) 10 2 2
SF@STL (9/22/18) 2 1 1
LAD@SF (9/29/18) 1 2 1
GameHardBreakingOffspeed
SF@ARI (3/14/19) 3 2 3
SF@OAK (3/24/19) 1 1 0
SF@SD (3/30/19) 5 2 0
TB@SF (4/5/19) 4 1 9
SD@SF (4/10/19) 3 4 1
SF@WSH (4/16/19) 1 4 2
SF@PIT (4/21/19) 6 3 1
NYY@SF (4/28/19) 2 0 0
SF@CIN (5/4/19) 4 1 1
CIN@SF (5/10/19) 1 4 2
ARI@SF (5/25/19) 2 0 0
SF@BAL (5/31/19) 4 4 4
LAD@SF (6/8/19) 0 0 1
MIL@SF (6/16/19) 2 3 0
SF@LAD (6/19/19) 3 0 1
SF@ARI (6/21/19) 1 1 0
COL@SF (6/26/19) 0 0 1
ARI@SF (6/27/19) 0 0 0
ARI@SF (6/30/19) 2 0 1
SF@COL (7/15/19) 3 4 0
SF@PHI (8/1/19) 0 2 1
SF@ARI (8/15/19) 6 1 2
SF@CHC (8/21/19) 1 5 2
SD@SF (8/29/19) 2 3 1
SF@STL (9/3/19) 2 7 4
SF@LAD (9/8/19) 0 3 5
SF@BOS (9/17/19) 2 0 0
SF@ATL (9/21/19) 0 2 3
COL@SF (9/24/19) 1 1 0
LAD@SF (9/29/19) 1 1 2
GameHardBreakingOffspeed
SF@HOU (8/12/20) 0 1 0
OAK@SF (8/16/20) 1 1 0
GameHardBreakingOffspeed
CHC@COL (3/11/21) 1 6 0
GameHardBreakingOffspeed
ATL@MIN (3/22/22) 0 0 0
LAD@MIN (4/13/22) 4 0 1
MIN@CLE (9/17/22) 1 4 0