We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
XYZAxisVisuals Override Defaults
It looks like XYZAxisVisual is not overridable in the **init** function for the verts and color arguments?  Passing in `pos=my_custom_verts` results in `TypeError: __init__() got multiple values for keyword argument 'pos'`.

The `**kwds` argument looks like it is being passed through to the Line class, via LineVisual.  Does a method exist to specify the verts, color, and / or connect kwargs?  I am hesitant to submit a PR modifying **kwds since I am not 100% sure how the passing is working.


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `vispy/visuals/xyz_axis.py`
Content:
```
1 
2 import numpy as np
3 
4 from .line import LineVisual
5 
6 
7 class XYZAxisVisual(LineVisual):
8     """
9     Simple 3D axis for indicating coordinate system orientation. Axes are
10     x=red, y=green, z=blue.
11     """
12     def __init__(self, **kwargs):
13         verts = np.array([[0, 0, 0],
14                           [1, 0, 0],
15                           [0, 0, 0],
16                           [0, 1, 0],
17                           [0, 0, 0],
18                           [0, 0, 1]])
19         color = np.array([[1, 0, 0, 1],
20                           [1, 0, 0, 1],
21                           [0, 1, 0, 1],
22                           [0, 1, 0, 1],
23                           [0, 0, 1, 1],
24                           [0, 0, 1, 1]])
25         LineVisual.__init__(self, pos=verts, color=color, connect='segments',
26                             method='gl', **kwargs)
27
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/vispy/visuals/xyz_axis.py b/vispy/visuals/xyz_axis.py
--- a/vispy/visuals/xyz_axis.py
+++ b/vispy/visuals/xyz_axis.py
@@ -10,17 +10,24 @@
     x=red, y=green, z=blue.
     """
     def __init__(self, **kwargs):
-        verts = np.array([[0, 0, 0],
-                          [1, 0, 0],
-                          [0, 0, 0],
-                          [0, 1, 0],
-                          [0, 0, 0],
-                          [0, 0, 1]])
+        pos = np.array([[0, 0, 0],
+                        [1, 0, 0],
+                        [0, 0, 0],
+                        [0, 1, 0],
+                        [0, 0, 0],
+                        [0, 0, 1]])
         color = np.array([[1, 0, 0, 1],
                           [1, 0, 0, 1],
                           [0, 1, 0, 1],
                           [0, 1, 0, 1],
                           [0, 0, 1, 1],
                           [0, 0, 1, 1]])
-        LineVisual.__init__(self, pos=verts, color=color, connect='segments',
-                            method='gl', **kwargs)
+        connect = 'segments'
+        method = 'gl'
+
+        kwargs.setdefault('pos', pos)
+        kwargs.setdefault('color', color)
+        kwargs.setdefault('connect', connect)
+        kwargs.setdefault('method', method)
+
+        LineVisual.__init__(self, **kwargs)

{"golden_diff": "diff --git a/vispy/visuals/xyz_axis.py b/vispy/visuals/xyz_axis.py\n--- a/vispy/visuals/xyz_axis.py\n+++ b/vispy/visuals/xyz_axis.py\n@@ -10,17 +10,24 @@\n     x=red, y=green, z=blue.\n     \"\"\"\n     def __init__(self, **kwargs):\n-        verts = np.array([[0, 0, 0],\n-                          [1, 0, 0],\n-                          [0, 0, 0],\n-                          [0, 1, 0],\n-                          [0, 0, 0],\n-                          [0, 0, 1]])\n+        pos = np.array([[0, 0, 0],\n+                        [1, 0, 0],\n+                        [0, 0, 0],\n+                        [0, 1, 0],\n+                        [0, 0, 0],\n+                        [0, 0, 1]])\n         color = np.array([[1, 0, 0, 1],\n                           [1, 0, 0, 1],\n                           [0, 1, 0, 1],\n                           [0, 1, 0, 1],\n                           [0, 0, 1, 1],\n                           [0, 0, 1, 1]])\n-        LineVisual.__init__(self, pos=verts, color=color, connect='segments',\n-                            method='gl', **kwargs)\n+        connect = 'segments'\n+        method = 'gl'\n+\n+        kwargs.setdefault('pos', pos)\n+        kwargs.setdefault('color', color)\n+        kwargs.setdefault('connect', connect)\n+        kwargs.setdefault('method', method)\n+\n+        LineVisual.__init__(self, **kwargs)\n", "issue": "XYZAxisVisuals Override Defaults\nIt looks like XYZAxisVisual is not overridable in the **init** function for the verts and color arguments?  Passing in `pos=my_custom_verts` results in `TypeError: __init__() got multiple values for keyword argument 'pos'`.\n\nThe `**kwds` argument looks like it is being passed through to the Line class, via LineVisual.  Does a method exist to specify the verts, color, and / or connect kwargs?  I am hesitant to submit a PR modifying **kwds since I am not 100% sure how the passing is working.\n\n", "before_files": [{"content": "\nimport numpy as np\n\nfrom .line import LineVisual\n\n\nclass XYZAxisVisual(LineVisual):\n    \"\"\"\n    Simple 3D axis for indicating coordinate system orientation. Axes are\n    x=red, y=green, z=blue.\n    \"\"\"\n    def __init__(self, **kwargs):\n        verts = np.array([[0, 0, 0],\n                          [1, 0, 0],\n                          [0, 0, 0],\n                          [0, 1, 0],\n                          [0, 0, 0],\n                          [0, 0, 1]])\n        color = np.array([[1, 0, 0, 1],\n                          [1, 0, 0, 1],\n                          [0, 1, 0, 1],\n                          [0, 1, 0, 1],\n                          [0, 0, 1, 1],\n                          [0, 0, 1, 1]])\n        LineVisual.__init__(self, pos=verts, color=color, connect='segments',\n                            method='gl', **kwargs)\n", "path": "vispy/visuals/xyz_axis.py"}], "after_files": [{"content": "\nimport numpy as np\n\nfrom .line import LineVisual\n\n\nclass XYZAxisVisual(LineVisual):\n    \"\"\"\n    Simple 3D axis for indicating coordinate system orientation. Axes are\n    x=red, y=green, z=blue.\n    \"\"\"\n    def __init__(self, **kwargs):\n        pos = np.array([[0, 0, 0],\n                        [1, 0, 0],\n                        [0, 0, 0],\n                        [0, 1, 0],\n                        [0, 0, 0],\n                        [0, 0, 1]])\n        color = np.array([[1, 0, 0, 1],\n                          [1, 0, 0, 1],\n                          [0, 1, 0, 1],\n                          [0, 1, 0, 1],\n                          [0, 0, 1, 1],\n                          [0, 0, 1, 1]])\n        connect = 'segments'\n        method = 'gl'\n\n        kwargs.setdefault('pos', pos)\n        kwargs.setdefault('color', color)\n        kwargs.setdefault('connect', connect)\n        kwargs.setdefault('method', method)\n\n        LineVisual.__init__(self, **kwargs)\n", "path": "vispy/visuals/xyz_axis.py"}]}