From 919ee54b59e8c2f0ed4916cd45c6d8d2714a0df2 Mon Sep 17 00:00:00 2001 From: Etienne Dumur Date: Sun, 28 Jun 2020 14:50:44 +0200 Subject: [PATCH] Add edgecolor parameter Allow user to set the polygons edge color. --- examples/pColorMeshItem.py | 4 +++- pyqtgraph/graphicsItems/PColorMeshItem.py | 15 ++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/examples/pColorMeshItem.py b/examples/pColorMeshItem.py index 87ab8120..dda42b36 100644 --- a/examples/pColorMeshItem.py +++ b/examples/pColorMeshItem.py @@ -33,7 +33,9 @@ y = np.tile(np.arange(1, yn+1), xn).reshape(xn, yn) z = np.exp(-(x*xn)**2/1000)[:-1,:-1] ## Create image item -pcmi = pg.PColorMeshItem() +edgecolors = None +# edgecolors = {'color':'w', 'width':2} # May be uncommened to see edgecolor effect +pcmi = pg.PColorMeshItem(edgecolors=edgecolors) view.addItem(pcmi) diff --git a/pyqtgraph/graphicsItems/PColorMeshItem.py b/pyqtgraph/graphicsItems/PColorMeshItem.py index a71baa2f..8f7bd207 100644 --- a/pyqtgraph/graphicsItems/PColorMeshItem.py +++ b/pyqtgraph/graphicsItems/PColorMeshItem.py @@ -31,7 +31,7 @@ class PColorMeshItem(GraphicsObject): def __init__(self, x=None, y=None, z=None, - cmap='viridis'): + cmap='viridis', edgecolors=None): """ @@ -44,8 +44,13 @@ class PColorMeshItem(GraphicsObject): colors. cmap : str, default 'viridis Colormap used to map the z value to colors. + edgecolors : dict , default None + The color of the edges of the polygons. + Default None means no edges. + The dict may contains any arguments accepted by :func:`mkColor() . + Example: + mkPen(color='w', width=2) """ - GraphicsObject.__init__(self) self.x = x @@ -56,6 +61,7 @@ class PColorMeshItem(GraphicsObject): self.axisOrder = getConfigOption('imageAxisOrder') + self.edgecolors = edgecolors if cmap in Gradients.keys(): self.cmap = cmap else: @@ -84,7 +90,10 @@ class PColorMeshItem(GraphicsObject): p = QtGui.QPainter(self.qpicture) # We set the pen of all polygons once - p.setPen(QtGui.QColor(0, 0, 0, 0)) + if self.edgecolors is None: + p.setPen(QtGui.QColor(0, 0, 0, 0)) + else: + p.setPen(fn.mkPen(self.edgecolors)) ## Prepare colormap # First we get the LookupTable