internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: vispy/vispy

Issue:
PinchGesture attribute error in PyQt6
got this error using PyQt6:

```pytb
  File "/Users/talley/miniconda3/envs/napdev/lib/python3.9/site-packages/vispy/app/canvas.py", line 231, in create_native
    self._app.backend_module.CanvasBackend(self, **self._backend_kwargs)
  File "/Users/talley/miniconda3/envs/napdev/lib/python3.9/site-packages/vispy/app/backends/_qt.py", line 420, in __init__
    self.grabGesture(qt_widget_attributes.PinchGesture)
  File "/Users/talley/miniconda3/envs/napdev/lib/python3.9/enum.py", line 405, in __getattr__
    raise AttributeError(name) from None
AttributeError: PinchGesture
```

I believe PinchGesture is under the `GestureType` namespace (`QtCore.Qt.GestureType.PinchGesture`)
instead of `QtCore.Qt.WidgetAttribute`



Discussion:

Resolving patch:
diff --git a/vispy/app/backends/_qt.py b/vispy/app/backends/_qt.py
--- a/vispy/app/backends/_qt.py
+++ b/vispy/app/backends/_qt.py
@@ -415,9 +415,12 @@ def __init__(self, vispy_canvas, **kwargs):
         # problems on Ubuntu computers with touchscreen.
         # See https://github.com/vispy/vispy/pull/1143
         if sys.platform == 'darwin':
-            qt_widget_attributes = QtCore.Qt.WidgetAttribute if PYQT6_API else QtCore.Qt
-            self.setAttribute(qt_widget_attributes.WA_AcceptTouchEvents)
-            self.grabGesture(qt_widget_attributes.PinchGesture)
+            if PYQT6_API:
+                self.setAttribute(QtCore.Qt.WidgetAttribute.WA_AcceptTouchEvents)
+                self.grabGesture(QtCore.Qt.GestureType.PinchGesture)
+            else:
+                self.setAttribute(QtCore.Qt.WA_AcceptTouchEvents)
+                self.grabGesture(QtCore.Qt.PinchGesture)
 
     def screen_changed(self, new_screen):
         """Window moved from one display to another, resize canvas.


Test patch:
Repository: vispy/vispy

Issue:
Pinch Gesture error with PyQt5
When I make a pinch gesture in the canvas, I get the error below.

```python
WARNING: Traceback (most recent call last):
  File "/Users/kyamauch/Documents/vispy/vispy/app/backends/_qt.py", line 577, in event
    gesture = ev.gesture(qt_event_types.PinchGesture)
AttributeError: type object 'QEvent' has no attribute 'PinchGesture'
```

## To reproduce
1. Run the `examples/scene/volume.py`
2. Make a pinch gesture

## environment
- I pulled the latest vispy main ( e2bdc37457c8c5709218a7c9b2fbe8e218bd26a7).
- On Mac OS 10.15.7 (Catalina)
- PyQt 5.15.2


## related issues
- fix by @tlambert03 for PyQt6. I don't think this caused the issue since I experienced it before pulling Talley's patch, but maybe there are some useful ideas there.  https://github.com/vispy/vispy/pull/2200
- related napari issue: https://github.com/napari/napari/issues/3263


Discussion:
I tested this on `0.7.0` and the issue doesn't seem to be present.

Resolving patch:
diff --git a/vispy/app/backends/_qt.py b/vispy/app/backends/_qt.py
--- a/vispy/app/backends/_qt.py
+++ b/vispy/app/backends/_qt.py
@@ -574,7 +574,8 @@ def event(self, ev):
         if t == qt_event_types.TouchEnd:
             self._vispy_canvas.events.touch(type='end')
         if t == qt_event_types.Gesture:
-            gesture = ev.gesture(qt_event_types.PinchGesture)
+            pinch_gesture = QtCore.Qt.GestureType.PinchGesture if PYQT6_API else QtCore.Qt.PinchGesture
+            gesture = ev.gesture(pinch_gesture)
             if gesture:
                 (x, y) = _get_qpoint_pos(gesture.centerPoint())
                 scale = gesture.scaleFactor()


Test patch:
Repository: vispy/vispy

Issue:
Fix failing website build
Website builds just started failing with docstring related issues:

```
 /home/runner/micromamba/envs/vispy-tests/lib/python3.9/site-packages/numpydoc/docscrape.py:434: UserWarning: potentially wrong underline length... 
Returns 
---------- in 
Load an STL file from a file object.
... in the docstring of load_stl in /home/runner/work/vispy/vispy/vispy/io/stl.py.
  warn(msg)
/home/runner/micromamba/envs/vispy-tests/lib/python3.9/site-packages/numpydoc/docscrape.py:434: UserWarning: potentially wrong underline length... 
Returns 
---------- in 
Load an ASCII STL file from a file object.
... in the docstring of load_stl_ascii in /home/runner/work/vispy/vispy/vispy/io/stl.py.
  warn(msg)
/home/runner/micromamba/envs/vispy-tests/lib/python3.9/site-packages/numpydoc/docscrape.py:434: UserWarning: potentially wrong underline length... 
Returns 
---------- in 
Load a binary STL file from a file object.
... in the docstring of load_stl_binary in /home/runner/work/vispy/vispy/vispy/io/stl.py.
  warn(msg)
```


Discussion:
Link to the failing job:

https://github.com/vispy/vispy/runs/5085662854?check_suite_focus=true

Resolving patch:
diff --git a/doc/conf.py b/doc/conf.py
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -348,8 +348,8 @@ def _custom_edit_url(github_user, github_repo, github_version, doc_path, file_na
 _python_doc_base = 'https://docs.python.org/3.9'
 intersphinx_mapping = {
     _python_doc_base: None,
-    'https://docs.scipy.org/doc/numpy': None,
-    'https://docs.scipy.org/doc/scipy/reference': None,
+    'https://numpy.org/doc/stable/': None,
+    'https://scipy.github.io/devdocs/': None,
 }
 
 
diff --git a/vispy/io/stl.py b/vispy/io/stl.py
--- a/vispy/io/stl.py
+++ b/vispy/io/stl.py
@@ -33,7 +33,7 @@ def load_stl(file_obj, file_type=None):
     file_type: not used
 
     Returns
-    ----------
+    -------
     loaded: kwargs for a Trimesh constructor with keys:
               vertices:     (n,3) float, vertices
               faces:        (m,3) int, indexes of vertices
@@ -65,7 +65,7 @@ def load_stl_binary(file_obj):
     file_obj: open file- like object
 
     Returns
-    ----------
+    -------
     loaded: kwargs for a Trimesh constructor with keys:
               vertices:     (n,3) float, vertices
               faces:        (m,3) int, indexes of vertices
@@ -124,7 +124,7 @@ def load_stl_ascii(file_obj):
     file_obj: open file- like object
 
     Returns
-    ----------
+    -------
     loaded: kwargs for a Trimesh constructor with keys:
               vertices:     (n,3) float, vertices
               faces:        (m,3) int, indexes of vertices
diff --git a/vispy/scene/node.py b/vispy/scene/node.py
--- a/vispy/scene/node.py
+++ b/vispy/scene/node.py
@@ -423,7 +423,7 @@ def describe_tree(self, with_transform=False):
             If true, add information about node transform types.
 
         Returns
-        ----------
+        -------
         tree : str
             The tree diagram.
         """


Test patch:
Repository: vispy/vispy

Issue:
Upgrade to Cython 3 for all builds
Cython 3.0 is out now. There are a lot of changes including many changes to the defaults. I've learned quite a few gotchas from my other cython-based projects that hopefully upgrade will be easy for us since we only have a few Cython things in vispy. Just making an issue so if someone else wants to tackle it before me feel free.


Discussion:

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -24,15 +24,11 @@
 
 import os
 from os import path as op
-from distutils import log
-from setuptools import setup, find_packages, Extension
+from setuptools import setup, find_packages
 
 import numpy as np
 from Cython.Build import cythonize
-
-log.set_verbosity(log.DEBUG)
-log.info('setup.py entered')
-log.info('$PATH=%s' % os.environ['PATH'])
+from Cython.Distutils import Extension
 
 name = 'vispy'
 description = 'Interactive visualization in Python'
@@ -56,8 +52,11 @@ def set_builtin(name, value):
 
 
 extensions = [Extension('vispy.visuals.text._sdf_cpu',
-                        [op.join('vispy', 'visuals', 'text', '_sdf_cpu.pyx')],
-                        include_dirs=[np.get_include()]),
+                        sources=[op.join('vispy', 'visuals', 'text', '_sdf_cpu.pyx')],
+                        include_dirs=[np.get_include()],
+                        cython_directives={"language_level": "3"},
+                        define_macros=[("NPY_NO_DEPRECATED_API", "NPY_1_7_API_VERSION")],
+                        ),
               ]
 
 readme = open('README.rst', 'r').read()
@@ -70,7 +69,7 @@ def set_builtin(name, value):
     },
     author='Vispy contributors',
     author_email='vispy@googlegroups.com',
-    license='(new) BSD',
+    license='BSD-3-Clause',
     url='http://vispy.org',
     download_url='https://pypi.python.org/pypi/vispy',
     keywords=[
@@ -92,9 +91,8 @@ def set_builtin(name, value):
     long_description_content_type='text/x-rst',
     platforms='any',
     provides=['vispy'],
-    python_requires='>=3.6',
+    python_requires='>=3.8',
     install_requires=['numpy', 'freetype-py', 'hsluv', 'kiwisolver', 'packaging'],
-    setup_requires=['numpy', 'cython', 'setuptools_scm', 'setuptools_scm_git_archive', 'packaging'],
     extras_require={
         'ipython-static': ['ipython'],
         'pyglet': ['pyglet>=1.2'],
@@ -147,9 +145,10 @@ def set_builtin(name, value):
         'Operating System :: Microsoft :: Windows',
         'Operating System :: POSIX',
         'Programming Language :: Python',
-        'Programming Language :: Python :: 3.6',
-        'Programming Language :: Python :: 3.7',
         'Programming Language :: Python :: 3.8',
+        'Programming Language :: Python :: 3.9',
+        'Programming Language :: Python :: 3.10',
+        'Programming Language :: Python :: 3.11',
         'Framework :: IPython'
     ],
 )


Test patch:
Repository: vispy/vispy

Issue:
What's the status of GLFW?
I see there's a `glfw` backend, but in `setup.py` it is neither listed as a dependency nor defined as an extra. Is that an oversight or deliberately?

I'm packaging `vispy` for Fedora and with [glfw](https://pypi.org/project/glfw/) added as a dependency, I'm seeing `glfw` listed in the output of `vispy.sys_info()`. Tests using `glsw` as a backend also appear to work fine.


Discussion:
I'm not sure why there isn't an "extra" defined in the setup.py for it (PRs welcome), but it is mentioned here:

https://vispy.org/installation.html#backend-requirements

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -106,6 +106,7 @@ def set_builtin(name, value):
         'pyside': ['PySide'],
         'pyside2': ['PySide2'],
         'pyside6': ['PySide6'],
+        'glfw': ['glfw'],
         'sdl2': ['PySDL2'],
         'wx': ['wxPython'],
         'tk': ['pyopengltk'],


Test patch:
Repository: esphome/esphome-docs

Issue:
Fix documentation typo on Sensirion SPS30
## Description:

Fix documentation typo on Sensirion SPS30


Discussion:

Resolving patch:
diff --git a/conf.py b/conf.py
--- a/conf.py
+++ b/conf.py
@@ -70,9 +70,9 @@
 # built documents.
 #
 # The short X.Y version.
-version = '1.16'
+version = '1.17'
 # The full version, including alpha/beta/rc tags.
-release = '1.16.0-dev'
+release = '1.17.0-dev'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.


Test patch:
Repository: esphome/esphome-docs

Issue:
Update docs for new fan speed
## Description:


**Related issue (if applicable):** fixes https://github.com/esphome/issues/issues/1278

**Pull request in [esphome](https://github.com/esphome/esphome) with YAML changes (if applicable):** esphome/esphome#https://github.com/esphome/esphome/pull/1391

## Checklist:

  - [ ] Branch: `next` is for changes and new documentation that will go public with the next ESPHome release. Fixes, changes and adjustments for the current release should be created against `current`.
  - [ ] Link added in `/index.rst` when creating new documents for new components or cookbook.



Discussion:

Resolving patch:
diff --git a/conf.py b/conf.py
--- a/conf.py
+++ b/conf.py
@@ -69,7 +69,7 @@
 # The short X.Y version.
 version = "1.17"
 # The full version, including alpha/beta/rc tags.
-release = "1.17.1"
+release = "1.17.2"
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.


Test patch:
Repository: esphome/esphome-docs

Issue:
Add airquality wp6003 + am312 tutorial
Add air quality + am312 tutorial

## Description:


**Related issue (if applicable):** fixes <link to issue>

**Pull request in [esphome](https://github.com/esphome/esphome) with YAML changes (if applicable):** esphome/esphome#<esphome PR number goes here>

## Checklist:

  - [ ] Branch: `next` is for changes and new documentation that will go public with the next ESPHome release. Fixes, changes and adjustments for the current release should be created against `current`.
  - [ ] Link added in `/index.rst` when creating new documents for new components or cookbook.



Discussion:

Resolving patch:
diff --git a/conf.py b/conf.py
--- a/conf.py
+++ b/conf.py
@@ -67,9 +67,9 @@
 # built documents.
 #
 # The short X.Y version.
-version = "1.17"
+version = "1.18"
 # The full version, including alpha/beta/rc tags.
-release = "1.17.2"
+release = "1.18.0b1"
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.


Test patch:
Repository: esphome/esphome-docs

Issue:
Add airquality wp6003 + am312 tutorial
Add air quality + am312 tutorial

## Description:


**Related issue (if applicable):** fixes <link to issue>

**Pull request in [esphome](https://github.com/esphome/esphome) with YAML changes (if applicable):** esphome/esphome#<esphome PR number goes here>

## Checklist:

  - [ ] Branch: `next` is for changes and new documentation that will go public with the next ESPHome release. Fixes, changes and adjustments for the current release should be created against `current`.
  - [ ] Link added in `/index.rst` when creating new documents for new components or cookbook.



Discussion:

Resolving patch:
diff --git a/conf.py b/conf.py
--- a/conf.py
+++ b/conf.py
@@ -67,9 +67,9 @@
 # built documents.
 #
 # The short X.Y version.
-version = "1.17"
+version = "1.18"
 # The full version, including alpha/beta/rc tags.
-release = "1.17.2"
+release = "1.18.0"
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.


Test patch:
Repository: PaddlePaddle/Paddle2ONNX

Issue:
Fix travis-ci problems
Travis-ci always failed


Discussion:

Resolving patch:
diff --git a/variables.py b/variables.py
--- a/variables.py
+++ b/variables.py
@@ -19,9 +19,9 @@
 def paddle_variable_to_onnx_tensor(paddle_var_name, block):
     # TODO(varunarora): Need to do this only in the case of VarType.LOD_TENSOR.
     paddle_var = block.var(paddle_var_name)
-    return helper.make_tensor_value_info(
-        paddle_var_name, PADDLE_TO_ONNX_DTYPE[paddle_var.dtype],
-        paddle_var.shape)
+    return helper.make_tensor_value_info(paddle_var_name,
+                                         PADDLE_TO_ONNX_DTYPE[paddle_var.dtype],
+                                         paddle_var.shape)
 
 
 PADDLE_TO_ONNX_DTYPE = {


Test patch:
diff --git a/tests/__init__.py b/tests/__init__.py
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -0,0 +1,13 @@
+# Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
Repository: PaddlePaddle/Paddle2ONNX

Issue:
Need check whether protoc existed.



Discussion:

Resolving patch:
diff --git a/variables.py b/variables.py
--- a/variables.py
+++ b/variables.py
@@ -19,9 +19,9 @@
 def paddle_variable_to_onnx_tensor(paddle_var_name, block):
     # TODO(varunarora): Need to do this only in the case of VarType.LOD_TENSOR.
     paddle_var = block.var(paddle_var_name)
-    return helper.make_tensor_value_info(
-        paddle_var_name, PADDLE_TO_ONNX_DTYPE[paddle_var.dtype],
-        paddle_var.shape)
+    return helper.make_tensor_value_info(paddle_var_name,
+                                         PADDLE_TO_ONNX_DTYPE[paddle_var.dtype],
+                                         paddle_var.shape)
 
 
 PADDLE_TO_ONNX_DTYPE = {


Test patch:
diff --git a/tests/__init__.py b/tests/__init__.py
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -0,0 +1,13 @@
+# Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
Repository: PaddlePaddle/Paddle2ONNX

Issue:
Fix the fetch var bug when the arg is renamed



Discussion:

Resolving patch:
diff --git a/fluid/utils.py b/fluid/utils.py
--- a/fluid/utils.py
+++ b/fluid/utils.py
@@ -75,3 +75,14 @@ def __call__(self, op):
 
 # Instantiate the class to a callable object
 op_io_info = OpIOsInfo()
+
+
+def get_old_name(arg):
+    """Get the old rame for a possible renamed argument
+    """
+
+    idx = arg.find('@')
+    if idx == -1:
+        return arg
+    else:
+        return arg[:idx]
diff --git a/fluid_onnx/ops.py b/fluid_onnx/ops.py
--- a/fluid_onnx/ops.py
+++ b/fluid_onnx/ops.py
@@ -17,7 +17,7 @@
 from onnx import TensorProto
 from onnx.helper import make_node, make_tensor
 from paddle.fluid.executor import fetch_var
-from fluid.utils import op_io_info
+from fluid.utils import op_io_info, get_old_name
 from fluid_onnx.variables import PADDLE_TO_ONNX_DTYPE
 """
 Priority of ops (uniques) to figure out support for.
@@ -86,7 +86,7 @@ def argmin_op():
 def batch_norm_op(operator, block):
     inputs, attrs, outputs = op_io_info(operator)
 
-    x_shape = block.vars[inputs['X'][0]].shape
+    x_shape = block.vars[get_old_name(inputs['X'][0])].shape
     reshape_node = None
     if len(x_shape) == 2:
         reshaped_x = [inputs['X'][0] + '@reshape_0']
@@ -164,7 +164,7 @@ def constant_op(var, scope):
 def conv2d_op(operator, block):
     inputs, attrs, outputs = op_io_info(operator)
 
-    kernel_shape = block.vars[inputs['Filter'][0]].shape
+    kernel_shape = block.vars[get_old_name(inputs['Filter'][0])].shape
     conv2d = make_node(
         'Conv',
         inputs=inputs['Input'] + inputs['Filter'],
@@ -180,7 +180,7 @@ def conv2d_op(operator, block):
 def conv2d_transpose_op(operator, block):
     inputs, attrs, outputs = op_io_info(operator)
 
-    kernel_shape = block.vars[inputs['Filter'][0]].shape
+    kernel_shape = block.vars[get_old_name(inputs['Filter'][0])].shape
     conv2d_transpose = make_node(
         'ConvTranspose',
         inputs=inputs['Input'] + inputs['Filter'],
@@ -222,8 +222,8 @@ def elementwise_ops(op_type, operator, block):
     """
 
     inputs, attrs, outputs = op_io_info(operator)
-    rank_x = len(block.vars[inputs['X'][0]].shape)
-    rank_y = len(block.vars[inputs['Y'][0]].shape)
+    rank_x = len(block.vars[get_old_name(inputs['X'][0])].shape)
+    rank_y = len(block.vars[get_old_name(inputs['Y'][0])].shape)
     axis = rank_x - rank_y if attrs['axis'] == -1 else attrs['axis']
     return make_node(
         op_type,
@@ -481,7 +481,7 @@ def reduce_ops(op_type, operator, block):
     """
 
     inputs, attrs, outputs = op_io_info(operator)
-    rank = len(block.vars[inputs['X'][0]].shape)
+    rank = len(block.vars[get_old_name(inputs['X'][0])].shape)
     dim = attrs['dim']
     axes = [dim if dim >= 0 else rank + dim]
     reduce_out = [outputs['Out'][0] + '@reduce_0'] if attrs[


Test patch:
Repository: DistrictDataLabs/yellowbrick

Issue:
ClassificationScoreVisualizers should return accuracy
See #358 and #213  -- classification score visualizers should return accuracy when `score()` is called. If F1 or accuracy is not in the figure it should also be included in the figure. 


Discussion:
This is a test alert @DistrictDataLabs/team-oz-maintainers 
echo
I'm going to start working on this
As it stands, The following is True about the display of each visualizer
1. Classification Report has F1 score
2. Confusion Matrix has None
3. ROCAUC has None
4. Class Balance has None  *** SPECIAL NOTE*** Doesn't require Accuracy to be displayed
5. Class Prediction Error has None
6. Discrimination Threshold has F1 Score

Resolving patch:
diff --git a/yellowbrick/classifier/base.py b/yellowbrick/classifier/base.py
--- a/yellowbrick/classifier/base.py
+++ b/yellowbrick/classifier/base.py
@@ -110,6 +110,28 @@ def fit(self, X, y=None, **kwargs):
         # Always return self from fit
         return self
 
+
+    def score(self, X, y, **kwargs):
+        """
+        The score function is the hook for visual interaction. Pass in test
+        data and the visualizer will create predictions on the data and
+        evaluate them with respect to the test values. The evaluation will
+        then be passed to draw() and the result of the estimator score will
+        be returned.
+        Parameters
+        ----------
+        X : array-like
+            X (also X_test) are the dependent variables of test set to predict
+        y : array-like
+            y (also y_test) is the independent actual variables to score against
+        Returns
+        -------
+        score : float
+        """
+        self.score_ =  self.estimator.score(X, y, **kwargs)
+
+        return self.score_
+
     #TODO during refactoring this can be used to generalize ClassBalance
     def class_counts(self, y):
         unique, counts = np.unique(y, return_counts=True)


Test patch:
Repository: DistrictDataLabs/yellowbrick

Issue:
Add alpha transparency to RadViz
To make the RadViz a bit easier to read, we can add optional transparency, set by the user to be able to distinguish regions of more or less density. 


Discussion:
I will work on this issue. 

Resolving patch:
diff --git a/yellowbrick/features/radviz.py b/yellowbrick/features/radviz.py
--- a/yellowbrick/features/radviz.py
+++ b/yellowbrick/features/radviz.py
@@ -138,10 +138,11 @@ class RadialVisualizer(DataVisualizer):
     """
 
     def __init__(self, ax=None, features=None, classes=None, color=None,
-                 colormap=None, **kwargs):
+                 colormap=None, alpha=1, **kwargs):
         super(RadialVisualizer, self).__init__(
             ax, features, classes, color, colormap, **kwargs
         )
+        self.alpha = alpha
 
     @staticmethod
     def normalize(X):
@@ -210,7 +211,7 @@ def draw(self, X, y, **kwargs):
         # TODO: store these plots to add more instances to later
         # TODO: make this a separate function
         for i, kls in enumerate(self.classes_):
-            self.ax.scatter(to_plot[kls][0], to_plot[kls][1], color=colors[kls], label=str(kls), **kwargs)
+            self.ax.scatter(to_plot[kls][0], to_plot[kls][1], color=colors[kls], label=str(kls), alpha=self.alpha, **kwargs)
 
         # Add the circular axis path
         # TODO: Make this a seperate function (along with labeling)


Test patch: