File tree 2 files changed +17
-4
lines changed 2 files changed +17
-4
lines changed Original file line number Diff line number Diff line change @@ -232,3 +232,11 @@ def test_failing_latex(tmpdir):
232
232
plt .xlabel ("$22_2_2$" )
233
233
with pytest .raises (RuntimeError ):
234
234
plt .savefig (path )
235
+
236
+
237
+ def test_empty_rasterised ():
238
+ # Check that emtpy figures that are rasterised save to pdf files fine
239
+ with PdfPages (io .BytesIO ()) as pdf :
240
+ fig , ax = plt .subplots ()
241
+ ax .plot ([], [], rasterized = True )
242
+ fig .savefig (pdf , format = "pdf" )
Original file line number Diff line number Diff line change @@ -201,10 +201,15 @@ agg::rect_i RendererAgg::get_content_extents()
201
201
}
202
202
}
203
203
204
- r.x1 = std::max (0 , r.x1 );
205
- r.y1 = std::max (0 , r.y1 );
206
- r.x2 = std::min (r.x2 + 1 , (int )width);
207
- r.y2 = std::min (r.y2 + 1 , (int )height);
204
+ if (r.x1 == width && r.x2 == 0 ) {
205
+ // The buffer is completely empty.
206
+ r.x1 = r.y1 = r.x2 = r.y2 = 0 ;
207
+ } else {
208
+ r.x1 = std::max (0 , r.x1 );
209
+ r.y1 = std::max (0 , r.y1 );
210
+ r.x2 = std::min (r.x2 + 1 , (int )width);
211
+ r.y2 = std::min (r.y2 + 1 , (int )height);
212
+ }
208
213
209
214
return r;
210
215
}
You can’t perform that action at this time.
0 commit comments