Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit aa67e38

Browse files
committed
Fix draw_quad_mesh for backends without urls support.
1 parent 9adb6ef commit aa67e38

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

lib/matplotlib/collections.py

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
line segments).
1010
"""
1111

12+
import inspect
1213
import math
1314
from numbers import Number
1415
import numpy as np
@@ -2042,10 +2043,26 @@ def draw(self, renderer):
20422043
renderer.draw_gouraud_triangles(
20432044
gc, triangles, colors, transform.frozen())
20442045
else:
2045-
renderer.draw_quad_mesh(
2046-
gc, transform.frozen(), self._meshWidth, self._meshHeight,
2047-
coordinates, offsets, transOffset, self.get_facecolor(),
2048-
self._antialiased, self.get_edgecolors(), urls=self.get_urls())
2046+
try:
2047+
sig = inspect.signature(renderer.draw_quad_mesh)
2048+
except ValueError:
2049+
# Compiled backends like Agg don't have a signature, but also
2050+
# don't support urls anyway.
2051+
use_urls = False
2052+
else:
2053+
use_urls = 'urls' in sig.parameters
2054+
if use_urls:
2055+
renderer.draw_quad_mesh(
2056+
gc, transform.frozen(), self._meshWidth, self._meshHeight,
2057+
coordinates, offsets, transOffset, self.get_facecolor(),
2058+
self._antialiased, self.get_edgecolors(),
2059+
urls=self.get_urls())
2060+
else:
2061+
# This backend does not support storing urls in the QuadMesh.
2062+
renderer.draw_quad_mesh(
2063+
gc, transform.frozen(), self._meshWidth, self._meshHeight,
2064+
coordinates, offsets, transOffset, self.get_facecolor(),
2065+
self._antialiased, self.get_edgecolors())
20492066
gc.restore()
20502067
renderer.close_group(self.__class__.__name__)
20512068
self.stale = False

0 commit comments

Comments
 (0)