From 18661cab0dfeba857a96a6eaf404f0caaddc0615 Mon Sep 17 00:00:00 2001 From: Axel Jacobsen Date: Tue, 6 Aug 2019 09:32:43 -0700 Subject: [PATCH 1/2] BarGraphItem CSV export and documentation --- doc/source/graphicsItems/bargraphitem.rst | 8 ++++++++ pyqtgraph/graphicsItems/BarGraphItem.py | 13 +++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 doc/source/graphicsItems/bargraphitem.rst diff --git a/doc/source/graphicsItems/bargraphitem.rst b/doc/source/graphicsItems/bargraphitem.rst new file mode 100644 index 00000000..4959385b --- /dev/null +++ b/doc/source/graphicsItems/bargraphitem.rst @@ -0,0 +1,8 @@ +BarGraphItem +============ + +.. autoclass:: pyqtgraph.BarGraphItem + :members: + + .. automethod:: pyqtgraph.BarGraphItem.__init__ + diff --git a/pyqtgraph/graphicsItems/BarGraphItem.py b/pyqtgraph/graphicsItems/BarGraphItem.py index 657222ba..4e820cb8 100644 --- a/pyqtgraph/graphicsItems/BarGraphItem.py +++ b/pyqtgraph/graphicsItems/BarGraphItem.py @@ -40,6 +40,7 @@ class BarGraphItem(GraphicsObject): y0=None, x1=None, y1=None, + name=None, height=None, width=None, pen=None, @@ -166,3 +167,15 @@ class BarGraphItem(GraphicsObject): if self.picture is None: self.drawPicture() return self._shape + + def implements(self, interface=None): + ints = ['plotData'] + if interface is None: + return ints + return interface in ints + + def name(self): + return self.opts.get('name', None) + + def getData(self): + return self.opts.get('x'), self.opts.get('height') From 27d94cae923d1371736a4b6ea650559cbf317d1f Mon Sep 17 00:00:00 2001 From: Axel Jacobsen Date: Tue, 6 Aug 2019 11:55:14 -0700 Subject: [PATCH 2/2] enforce utf-8 encoding for casting QByteArray to str remove print statements --- pyqtgraph/exporters/ImageExporter.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyqtgraph/exporters/ImageExporter.py b/pyqtgraph/exporters/ImageExporter.py index a43a3d88..69c02508 100644 --- a/pyqtgraph/exporters/ImageExporter.py +++ b/pyqtgraph/exporters/ImageExporter.py @@ -48,7 +48,7 @@ class ImageExporter(Exporter): def export(self, fileName=None, toBytes=False, copy=False): if fileName is None and not toBytes and not copy: if QT_LIB in ['PySide', 'PySide2']: - filter = ["*."+str(f) for f in QtGui.QImageWriter.supportedImageFormats()] + filter = ["*."+str(f, encoding='utf-8') for f in QtGui.QImageWriter.supportedImageFormats()] else: filter = ["*."+bytes(f).decode('utf-8') for f in QtGui.QImageWriter.supportedImageFormats()] preferred = ['*.png', '*.tif', '*.jpg'] @@ -105,7 +105,7 @@ class ImageExporter(Exporter): elif toBytes: return self.png else: - self.png.save(fileName) + return self.png.save(fileName) ImageExporter.register()