MCPcopy Create free account
hub / github.com/holoviz/hvplot / TestDatashader

Class TestDatashader

hvplot/tests/plotting/testscattermatrix.py:82–138  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

80
81
82class TestDatashader(TestCase):
83 def setUp(self):
84 try:
85 import datashader # noqa
86 except ImportError:
87 raise SkipTest('Datashader not available')
88 if sys.maxsize < 2**32:
89 raise SkipTest('Datashader does not support 32-bit systems')
90 self.df = pd.DataFrame(np.random.randn(1000, 3), columns=['a', 'b', 'c'])
91
92 def test_rasterize_datashade_mutually_exclusive(self):
93 with self.assertRaises(ValueError):
94 scatter_matrix(self.df, rasterize=True, datashade=True)
95
96 def test_spread_but_no_rasterize_or_datashade(self):
97 with self.assertRaises(ValueError):
98 scatter_matrix(self.df, dynspread=True)
99 with self.assertRaises(ValueError):
100 scatter_matrix(self.df, spread=True)
101 with self.assertRaises(ValueError):
102 scatter_matrix(self.df, dynspread=True, spread=True)
103
104 @parameterized.expand([('rasterize',), ('datashade',)])
105 def test_rasterization(self, operation):
106 sm = scatter_matrix(self.df, **{operation: True})
107 dm = sm['a', 'b']
108 self.assertEqual(dm.callback.operation.name, operation)
109 dm[()]
110 self.assertEqual(len(dm.last.pipeline.operations), 3)
111
112 @parameterized.expand([('rasterize',), ('datashade',)])
113 def test_datashade_aggregator(self, operation):
114 sm = scatter_matrix(self.df, aggregator='mean', **{operation: True})
115 dm = sm['a', 'b']
116 dm[()]
117 self.assertEqual(dm.last.pipeline.operations[-1].aggregator, 'mean')
118
119 @parameterized.expand([('spread',), ('dynspread',)])
120 def test_spread_rasterize(self, operation):
121 sm = scatter_matrix(self.df, rasterize=True, **{operation: True})
122 dm = sm['a', 'b']
123 dm[()]
124 self.assertEqual(len(dm.last.pipeline.operations), 4)
125
126 @parameterized.expand([('spread',), ('dynspread',)])
127 def test_spread_datashade(self, operation):
128 sm = scatter_matrix(self.df, datashade=True, **{operation: True})
129 dm = sm['a', 'b']
130 dm[()]
131 self.assertEqual(len(dm.last.pipeline.operations), 4)
132
133 @parameterized.expand([('spread',), ('dynspread',)])
134 def test_spread_kwargs(self, operation):
135 sm = scatter_matrix(self.df, datashade=True, **{operation: True, 'shape': 'circle'})
136 dm = sm['a', 'b']
137 dm[()]
138 self.assertEqual(dm.last.pipeline.operations[-1].args[0].keywords['shape'], 'circle')

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…