GEMMA DEVELOPER AGENTSAVED EVIDENCE
← Dataset Exploration
ARCHIVED TRAINING / pyqtgraph/pyqtgraph

pyqtgraph__pyqtgraph-3278

This is a preserved training example. Membership in the current training wave has not been verified.
pyqtgraph/pyqtgraph · Task 128 of 169

Problem statement

TypeError when using a record array to plot data
<!-- In the following, please describe your issue in detail! -->
<!-- If some sections do not apply, just remove them. -->

### Short description
<!-- This should summarize the issue. -->
Using a NumPy record array as data to plot results in the following:
`TypeError: Cannot compare structured or void to non-void arrays.`

### Code to reproduce
<!-- Please provide a minimal working example that reproduces the issue in the code block below.
     Ideally, this should be a full example someone else could run without additional setup. -->

```python
import pyqtgraph as pg
import numpy as np

data_array = np.recarray((10,), dtype=[('x', float), ('y', float)])
pg.plot(data_array)

pg.exec()
```

### Expected behavior
<!-- What should happen? -->
According to the API reference, a PlotDataItem can be initialized with a NumPy recarray with `dtype=[('x', float), ('y', float), ...]`, so the above code should plot the (uninitialized) recarray data.

### Real behavior
<!-- What happens? -->
```
Traceback (most recent call last):
  File "C:\Users\_\code\recarray_test.py", line 5, in <module>
    pg.plot(data_array)
  File "C:\Users\_\code\.venv\lib\site-packages\pyqtgraph\__init__.py", line 392, in plot
    w.plot(*args, **dataArgs)
  File "C:\Users\_\code\.venv\lib\site-packages\pyqtgraph\graphicsItems\PlotItem\PlotItem.py", line 630, in plot
    item = PlotDataItem(*args, **kargs)
  File "C:\Users\_\code\.venv\lib\site-packages\pyqtgraph\graphicsItems\PlotDataItem.py", line 375, in __init__
    self.setData(*args, **kargs)
  File "C:\Users\_\code\.venv\lib\site-packages\pyqtgraph\graphicsItems\PlotDataItem.py", line 719, in setData
    if 'x' in data:
TypeError: Cannot compare structured or void to non-void arrays.
```

### Tested environment(s)

 * PyQtGraph version: 0.13.7
 * Qt Python binding: PyQt6 6.8.1 Qt 6.8.2
 * Python version: 3.9.13
 * NumPy version: 2.0.2
 * Operating system: Windows 11
 * Installation method: pip

Training membership

opd_e4b_cispo_v5 opd_e4b_pure_v6a opd_e4b_pure_v6b opd_e4b_pure_v7 opd_e4b_pure_v7b

Task issues extracted from preserved verified_rft_messages training examples. This is not a verified current RL wave manifest.

Task and snapshot provenance

Snapshot captured 2026-11-12T17:06:59.476467+00:00 · Autoresearch-Arena/gemma-4-developer-agent

{
  "datasets": [
    "opd_e4b_cispo_v5",
    "opd_e4b_pure_v6a",
    "opd_e4b_pure_v6b",
    "opd_e4b_pure_v7",
    "opd_e4b_pure_v7b"
  ],
  "examples": 15,
  "instance_id": "pyqtgraph__pyqtgraph-3278",
  "problem_statement": "TypeError when using a record array to plot data\n<!-- In the following, please describe your issue in detail! -->\n<!-- If some sections do not apply, just remove them. -->\n\n### Short description\n<!-- This should summarize the issue. -->\nUsing a NumPy record array as data to plot results in the following:\n`TypeError: Cannot compare structured or void to non-void arrays.`\n\n### Code to reproduce\n<!-- Please provide a minimal working example that reproduces the issue in the code block below.\n     Ideally, this should be a full example someone else could run without additional setup. -->\n\n```python\nimport pyqtgraph as pg\nimport numpy as np\n\ndata_array = np.recarray((10,), dtype=[('x', float), ('y', float)])\npg.plot(data_array)\n\npg.exec()\n```\n\n### Expected behavior\n<!-- What should happen? -->\nAccording to the API reference, a PlotDataItem can be initialized with a NumPy recarray with `dtype=[('x', float), ('y', float), ...]`, so the above code should plot the (uninitialized) recarray data.\n\n### Real behavior\n<!-- What happens? -->\n```\nTraceback (most recent call last):\n  File \"C:\\Users\\_\\code\\recarray_test.py\", line 5, in <module>\n    pg.plot(data_array)\n  File \"C:\\Users\\_\\code\\.venv\\lib\\site-packages\\pyqtgraph\\__init__.py\", line 392, in plot\n    w.plot(*args, **dataArgs)\n  File \"C:\\Users\\_\\code\\.venv\\lib\\site-packages\\pyqtgraph\\graphicsItems\\PlotItem\\PlotItem.py\", line 630, in plot\n    item = PlotDataItem(*args, **kargs)\n  File \"C:\\Users\\_\\code\\.venv\\lib\\site-packages\\pyqtgraph\\graphicsItems\\PlotDataItem.py\", line 375, in __init__\n    self.setData(*args, **kargs)\n  File \"C:\\Users\\_\\code\\.venv\\lib\\site-packages\\pyqtgraph\\graphicsItems\\PlotDataItem.py\", line 719, in setData\n    if 'x' in data:\nTypeError: Cannot compare structured or void to non-void arrays.\n```\n\n### Tested environment(s)\n\n * PyQtGraph version: 0.13.7\n * Qt Python binding: PyQt6 6.8.1 Qt 6.8.2\n * Python version: 3.9.13\n * NumPy version: 2.0.2\n * Operating system: Windows 11\n * Installation method: pip",
  "repo": "pyqtgraph/pyqtgraph",
  "source": "v2/experiments/train_data/opd_e4b_cispo_v5/verified_rft_messages.jsonl",
  "source_sha256": "a43610ad0dfb6ace95375cfae09000f41afc0338cc925af870a4ade7a9b20c4c"
}
{
  "captured_at": "2026-11-12T17:06:59.476467+00:00",
  "membership": "archived training",
  "membership_evidence": "Task issues extracted from preserved verified_rft_messages training examples. This is not a verified current RL wave manifest.",
  "name": "Preserved post-training task archive",
  "source": "Autoresearch-Arena/gemma-4-developer-agent",
  "source_revision": "016496de222aaafca0d4ee4c18efc63ba616f76e",
  "sources": [
    {
      "path": "v2/experiments/train_data/opd_e4b_cispo_v5/verified_rft_messages.jsonl",
      "sha256": "a43610ad0dfb6ace95375cfae09000f41afc0338cc925af870a4ade7a9b20c4c"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_hybrid_v3/verified_rft_messages.jsonl",
      "sha256": "bd326303eb127e8e5e08f03daf97bb88d79d19709d59f3f93f348bc56686a8df"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_onpolicy_v3/verified_rft_messages.jsonl",
      "sha256": "960c680e797e823a0d3a22f4b1d5ef60a72971373d703b877340b0c9126aaf68"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_pure_v6a/verified_rft_messages.jsonl",
      "sha256": "f045b7ca5b3883a1e2eaee81e1c02a4a1b53dd7b7b36e98bacb2ba5823a15148"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_pure_v6b/verified_rft_messages.jsonl",
      "sha256": "0f62460a9706eea5e1605255896f191ab00cb5706c5f1f2e1c293e9a718218dc"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_pure_v7/verified_rft_messages.jsonl",
      "sha256": "e37f7bd675322f3f81500b73559d60d5f602ca0537bf19f5cb06332c728c7b72"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_pure_v7b/verified_rft_messages.jsonl",
      "sha256": "b864bdc8695183433eef6e31cb8d33fad44ba3aded2170c1ade4ad5b2944ce23"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_self_audit_v4/verified_rft_messages.jsonl",
      "sha256": "0026023745afb8f3dc1c176dc7f7171157b4ad5a66656b524af218e8e19ceee6"
    },
    {
      "path": "v2/experiments/train_data/rft_e4b_aligned_v2/verified_rft_messages.jsonl",
      "sha256": "92a4515fee9d152b0d4c510ee3ce4caaaffe2003ba7584469f8027f174aab18c"
    },
    {
      "path": "v2/experiments/train_data/rft_v1/verified_rft_messages.jsonl",
      "sha256": "a42453ccd7ac7680b0a03865e8e7080bc8bf74c8d9d193b440c441ed46f8512b"
    },
    {
      "path": "v2/experiments/train_data/rft_v2/verified_rft_messages.jsonl",
      "sha256": "18f4b3bd7e651f83c6acab479c9475e3fa50dc652a384f309e97146983ac85ba"
    }
  ]
}