1
+ import geopandas as gpd
1
2
import matplotlib
2
3
import scanpy as sc
3
4
import spatialdata_plot # noqa: F401
5
+ from shapely .geometry import MultiPolygon , Polygon
4
6
from spatialdata import SpatialData
5
7
from spatialdata .models import ShapesModel
6
- from shapely .geometry import Polygon , MultiPolygon
7
- import geopandas as gpd
8
8
9
9
from tests .conftest import PlotTester , PlotTesterMeta
10
10
@@ -29,21 +29,20 @@ def test_plot_can_render_polygons(self, sdata_blobs: SpatialData):
29
29
sdata_blobs .pl .render_shapes (element = "blobs_polygons" ).pl .show ()
30
30
31
31
def test_plot_can_render_multipolygons (self ):
32
-
33
32
def _make_multi ():
34
- hole = MultiPolygon ([(
35
- ((0.0 , 0.0 ), (0.0 , 1.0 ), (1.0 , 1.0 ), (1.0 , 0.0 )),
36
- [((0.2 ,0.2 ), (0.2 ,0.8 ), (0.8 ,0.8 ), (0.8 ,0.2 ))]
37
- )])
38
- overlap = MultiPolygon ([
39
- Polygon ([(2.0 , 0.0 ), (2.0 , 0.8 ), (2.8 , 0.8 ), (2.8 , 0.0 )]),
40
- Polygon ([(2.2 , 0.2 ), (2.2 , 1.0 ), (3.0 , 1.0 ), (3.0 , 0.2 )])
41
- ])
33
+ hole = MultiPolygon (
34
+ [(((0.0 , 0.0 ), (0.0 , 1.0 ), (1.0 , 1.0 ), (1.0 , 0.0 )), [((0.2 , 0.2 ), (0.2 , 0.8 ), (0.8 , 0.8 ), (0.8 , 0.2 ))])]
35
+ )
36
+ overlap = MultiPolygon (
37
+ [
38
+ Polygon ([(2.0 , 0.0 ), (2.0 , 0.8 ), (2.8 , 0.8 ), (2.8 , 0.0 )]),
39
+ Polygon ([(2.2 , 0.2 ), (2.2 , 1.0 ), (3.0 , 1.0 ), (3.0 , 0.2 )]),
40
+ ]
41
+ )
42
42
poly = Polygon ([(4.0 , 0.0 ), (4.0 , 1.0 ), (5.0 , 1.0 ), (5.0 , 0.0 )])
43
43
polygon_series = gpd .GeoSeries ([hole , overlap , poly ])
44
44
cell_polygon_table = gpd .GeoDataFrame (geometry = polygon_series )
45
- sd_polygons = ShapesModel .parse (cell_polygon_table )
46
- return sd_polygons
45
+ return ShapesModel .parse (cell_polygon_table )
47
46
48
47
sdata = SpatialData (shapes = {"p" : _make_multi ()})
49
48
sdata .pl .render_shapes (outline = True , fill_alpha = 0.3 ).pl .show ()
0 commit comments