@@ -2658,67 +2658,83 @@ def test_pie_df_nan(self):
2658
2658
2659
2659
@pytest .mark .slow
2660
2660
def test_errorbar_plot (self ):
2661
- with warnings .catch_warnings ():
2662
- d = {"x" : np .arange (12 ), "y" : np .arange (12 , 0 , - 1 )}
2663
- df = DataFrame (d )
2664
- d_err = {"x" : np .ones (12 ) * 0.2 , "y" : np .ones (12 ) * 0.4 }
2665
- df_err = DataFrame (d_err )
2661
+ import matplotlib .pyplot as plt
2666
2662
2667
- # check line plots
2668
- ax = _check_plot_works (df .plot , yerr = df_err , logy = True )
2669
- self ._check_has_errorbars (ax , xerr = 0 , yerr = 2 )
2670
- ax = _check_plot_works (df .plot , yerr = df_err , logx = True , logy = True )
2671
- self ._check_has_errorbars (ax , xerr = 0 , yerr = 2 )
2672
- ax = _check_plot_works (df .plot , yerr = df_err , loglog = True )
2663
+ d = {"x" : np .arange (12 ), "y" : np .arange (12 , 0 , - 1 )}
2664
+ df = DataFrame (d )
2665
+ d_err = {"x" : np .ones (12 ) * 0.2 , "y" : np .ones (12 ) * 0.4 }
2666
+ df_err = DataFrame (d_err )
2667
+
2668
+ # check line plots
2669
+ ax = _check_plot_works (df .plot , yerr = df_err , logy = True )
2670
+ self ._check_has_errorbars (ax , xerr = 0 , yerr = 2 )
2671
+
2672
+ ax = _check_plot_works (df .plot , yerr = df_err , logx = True , logy = True )
2673
+ self ._check_has_errorbars (ax , xerr = 0 , yerr = 2 )
2674
+
2675
+ ax = _check_plot_works (df .plot , yerr = df_err , loglog = True )
2676
+ self ._check_has_errorbars (ax , xerr = 0 , yerr = 2 )
2677
+
2678
+ kinds = ["line" , "bar" , "barh" ]
2679
+ for kind in kinds :
2680
+ ax = _check_plot_works (df .plot , yerr = df_err ["x" ], kind = kind )
2673
2681
self ._check_has_errorbars (ax , xerr = 0 , yerr = 2 )
2674
2682
2675
- kinds = ["line" , "bar" , "barh" ]
2676
- for kind in kinds :
2677
- ax = _check_plot_works (df .plot , yerr = df_err ["x" ], kind = kind )
2678
- self ._check_has_errorbars (ax , xerr = 0 , yerr = 2 )
2679
- ax = _check_plot_works (df .plot , yerr = d_err , kind = kind )
2680
- self ._check_has_errorbars (ax , xerr = 0 , yerr = 2 )
2681
- ax = _check_plot_works (df .plot , yerr = df_err , xerr = df_err , kind = kind )
2682
- self ._check_has_errorbars (ax , xerr = 2 , yerr = 2 )
2683
- ax = _check_plot_works (
2684
- df .plot , yerr = df_err ["x" ], xerr = df_err ["x" ], kind = kind
2685
- )
2686
- self ._check_has_errorbars (ax , xerr = 2 , yerr = 2 )
2687
- ax = _check_plot_works (df .plot , xerr = 0.2 , yerr = 0.2 , kind = kind )
2688
- self ._check_has_errorbars (ax , xerr = 2 , yerr = 2 )
2683
+ ax = _check_plot_works (df .plot , yerr = d_err , kind = kind )
2684
+ self ._check_has_errorbars (ax , xerr = 0 , yerr = 2 )
2689
2685
2690
- # _check_plot_works adds an ax so catch warning. see GH #13188
2691
- axes = _check_plot_works (
2692
- df .plot , yerr = df_err , xerr = df_err , subplots = True , kind = kind
2693
- )
2694
- self ._check_has_errorbars (axes , xerr = 1 , yerr = 1 )
2686
+ ax = _check_plot_works (df .plot , yerr = df_err , xerr = df_err , kind = kind )
2687
+ self ._check_has_errorbars (ax , xerr = 2 , yerr = 2 )
2695
2688
2696
2689
ax = _check_plot_works (
2697
- ( df + 1 ) .plot , yerr = df_err , xerr = df_err , kind = "bar" , log = True
2690
+ df .plot , yerr = df_err [ "x" ] , xerr = df_err [ "x" ], kind = kind
2698
2691
)
2699
2692
self ._check_has_errorbars (ax , xerr = 2 , yerr = 2 )
2700
2693
2701
- # yerr is raw error values
2702
- ax = _check_plot_works (df ["y" ].plot , yerr = np .ones (12 ) * 0.4 )
2703
- self ._check_has_errorbars (ax , xerr = 0 , yerr = 1 )
2704
- ax = _check_plot_works (df .plot , yerr = np .ones ((2 , 12 )) * 0.4 )
2705
- self ._check_has_errorbars (ax , xerr = 0 , yerr = 2 )
2694
+ ax = _check_plot_works (df .plot , xerr = 0.2 , yerr = 0.2 , kind = kind )
2695
+ self ._check_has_errorbars (ax , xerr = 2 , yerr = 2 )
2706
2696
2707
- # yerr is column name
2708
- for yerr in ["yerr" , "誤差" ]:
2709
- s_df = df .copy ()
2710
- s_df [yerr ] = np .ones (12 ) * 0.2
2711
- ax = _check_plot_works (s_df .plot , yerr = yerr )
2712
- self ._check_has_errorbars (ax , xerr = 0 , yerr = 2 )
2713
- ax = _check_plot_works (s_df .plot , y = "y" , x = "x" , yerr = yerr )
2714
- self ._check_has_errorbars (ax , xerr = 0 , yerr = 1 )
2697
+ with tm .assert_produces_warning (UserWarning ):
2698
+ # _check_plot_works as this function creates
2699
+ # subplots inside, which leads to warnings like this:
2700
+ # UserWarning: To output multiple subplots,
2701
+ # the figure containing the passed axes is being cleared
2702
+ # Similar warnings were observed in GH #13188
2703
+ _check_plot_works (
2704
+ df .plot , yerr = df_err , xerr = df_err , subplots = True , kind = kind
2705
+ )
2706
+ fig = plt .gcf ()
2707
+ axes = fig .get_axes ()
2708
+ for ax in axes :
2709
+ self ._check_has_errorbars (ax , xerr = 1 , yerr = 1 )
2715
2710
2716
- with pytest .raises (ValueError ):
2717
- df .plot (yerr = np .random .randn (11 ))
2711
+ ax = _check_plot_works (
2712
+ (df + 1 ).plot , yerr = df_err , xerr = df_err , kind = "bar" , log = True
2713
+ )
2714
+ self ._check_has_errorbars (ax , xerr = 2 , yerr = 2 )
2715
+
2716
+ # yerr is raw error values
2717
+ ax = _check_plot_works (df ["y" ].plot , yerr = np .ones (12 ) * 0.4 )
2718
+ self ._check_has_errorbars (ax , xerr = 0 , yerr = 1 )
2719
+
2720
+ ax = _check_plot_works (df .plot , yerr = np .ones ((2 , 12 )) * 0.4 )
2721
+ self ._check_has_errorbars (ax , xerr = 0 , yerr = 2 )
2722
+
2723
+ # yerr is column name
2724
+ for yerr in ["yerr" , "誤差" ]:
2725
+ s_df = df .copy ()
2726
+ s_df [yerr ] = np .ones (12 ) * 0.2
2727
+ ax = _check_plot_works (s_df .plot , yerr = yerr )
2728
+ self ._check_has_errorbars (ax , xerr = 0 , yerr = 2 )
2729
+ ax = _check_plot_works (s_df .plot , y = "y" , x = "x" , yerr = yerr )
2730
+ self ._check_has_errorbars (ax , xerr = 0 , yerr = 1 )
2731
+
2732
+ with pytest .raises (ValueError ):
2733
+ df .plot (yerr = np .random .randn (11 ))
2718
2734
2719
- df_err = DataFrame ({"x" : ["zzz" ] * 12 , "y" : ["zzz" ] * 12 })
2720
- with pytest .raises ((ValueError , TypeError )):
2721
- df .plot (yerr = df_err )
2735
+ df_err = DataFrame ({"x" : ["zzz" ] * 12 , "y" : ["zzz" ] * 12 })
2736
+ with pytest .raises ((ValueError , TypeError )):
2737
+ df .plot (yerr = df_err )
2722
2738
2723
2739
@pytest .mark .xfail (reason = "Iterator is consumed" , raises = ValueError )
2724
2740
@pytest .mark .slow
@@ -2798,7 +2814,7 @@ def test_errorbar_timeseries(self, kind):
2798
2814
# UserWarning: To output multiple subplots,
2799
2815
# the figure containing the passed axes is being cleared
2800
2816
# Similar warnings were observed in GH #13188
2801
- axes = _check_plot_works (tdf .plot , kind = kind , yerr = tdf_err , subplots = True )
2817
+ _check_plot_works (tdf .plot , kind = kind , yerr = tdf_err , subplots = True )
2802
2818
fig = plt .gcf ()
2803
2819
axes = fig .get_axes ()
2804
2820
for ax in axes :
0 commit comments