Incorrect regression analysis from v11.6

Hello,

Since I upgraded to 11.6, I’ve had a lot of problems.

I’ve had to repair 2 XY charts.

And on repeating them, I realize that the “Show threshold” option has disappeared in this type of panel.

Normally, in a panel like this one with a bar chart, you’d find this menu :

But in an XY chart type panel, it’s impossible to see it and therefore to display the thresholds:

I hope this will be corrected

On this type of panel, I also have a problem with transformation by regression analysis.

Before the update, the regression line had a different shape.

Before, it crossed the graph horizontally. Now it crosses it diagonally. Weird

As I don’t have a screenshot from before, I used OpenOffice Calc to recreate the graphic and here’s what the line should do (and what it did before).

Here’s my data if you’d like to give it a try yourself.

recurrences valeurs
2 2
9 3
33 4
43 5
44 6
24 7
3 8
1 9

Polynomial lines also trace differently than before

UP.

I need an answer as to whether this is a bug or a usability issue on my part.

Another behavior appeared that I hadn’t noticed before. With Override by name, you could change the name with “Standard options > Display name” of the series without any problem. Now, changing the name causes the series to disappear from the XY graph.

Thank you for your help.

One month after posting this topic, I’m still waiting for a reply.
Maybe someone close to or part of the development team will come across this and respond.
Are these issues known? Does version 12 fix them?

In v.12.0.0, The problem persists: the regression line is not correct because it looks like this:

When it should look like this:

{
  "id": 83,
  "type": "xychart",
  "title": "Panel Title",
  "gridPos": {
    "x": 12,
    "y": 42,
    "h": 8,
    "w": 12
  },
  "fieldConfig": {
    "defaults": {
      "custom": {
        "show": "points",
        "pointSize": {
          "fixed": 9
        },
        "pointShape": "circle",
        "pointStrokeWidth": 1,
        "fillOpacity": 50,
        "axisPlacement": "auto",
        "axisLabel": "",
        "axisColorMode": "text",
        "axisBorderShow": false,
        "scaleDistribution": {
          "type": "linear"
        },
        "axisCenteredZero": false,
        "hideFrom": {
          "tooltip": false,
          "viz": false,
          "legend": false
        }
      },
      "color": {
        "mode": "palette-classic"
      },
      "mappings": [],
      "thresholds": {
        "mode": "absolute",
        "steps": [
          {
            "color": "green",
            "value": null
          },
          {
            "color": "red",
            "value": 80
          }
        ]
      }
    },
    "overrides": [
      {
        "matcher": {
          "id": "byName",
          "options": "linear regression Z {__name__=\"Consommation\"} predicted"
        },
        "properties": [
          {
            "id": "custom.show",
            "value": "lines"
          },
          {
            "id": "custom.axisPlacement",
            "value": "hidden"
          },
          {
            "id": "color",
            "value": {
              "fixedColor": "light-red",
              "mode": "fixed"
            }
          }
        ]
      },
      {
        "matcher": {
          "id": "byName",
          "options": "Z {__name__=\"Consommation\"}"
        },
        "properties": [
          {
            "id": "unit",
            "value": "watth"
          },
          {
            "id": "custom.pointSize.fixed",
            "value": 15
          },
          {
            "id": "custom.pointShape",
            "value": "square"
          },
          {
            "id": "color",
            "value": {
              "fixedColor": "semi-dark-orange",
              "mode": "fixed"
            }
          }
        ]
      }
    ]
  },
  "transformations": [
    {
      "id": "joinByField",
      "options": {
        "byField": "Time",
        "mode": "inner"
      }
    },
    {
      "id": "regression",
      "options": {
        "xFieldName": "Meteo",
        "yFieldName": "Z"
      }
    },
    {
      "id": "formatTime",
      "options": {
        "outputFormat": "MMMM",
        "timeField": "Time",
        "timezone": "Europe/Paris",
        "useTimezone": true
      }
    }
  ],
  "pluginVersion": "12.0.0",
  "targets": [
    {
      "datasource": {
        "type": "influxdb",
        "uid": "b383168e-2097-4f5b-a983-0d137adfb3aa"
      },
      "hide": true,
      "query": "import \"timezone\"\r\n\r\noption location = timezone.location(name: \"Europe/Paris\")\r\n\r\nfrom(bucket: \"GIN\")\r\n  |> range(start: 2024-11-01T00:00:00Z, stop: 2025-07-31T00:00:00Z)\r\n  |> filter(fn: (r) => r[\"_measurement\"] == \"Consommation\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"Chauffage_chambre1\")\r\n  |> difference(nonNegative: true, initialZero: false, columns: [\"_value\"])\r\n  |> aggregateWindow(every: 1mo, fn: sum, createEmpty: false, offset: -1s)",
      "refId": "A"
    },
    {
      "datasource": {
        "type": "influxdb",
        "uid": "b383168e-2097-4f5b-a983-0d137adfb3aa"
      },
      "hide": true,
      "query": "import \"timezone\"\r\n\r\noption location = timezone.location(name: \"Europe/Paris\")\r\n\r\nfrom(bucket: \"GIN\")\r\n  |> range(start: 2024-11-01T00:00:00Z, stop: 2025-07-31T00:00:00Z)\r\n  |> filter(fn: (r) => r[\"_measurement\"] == \"Consommation\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"Chauffage_salon\")\r\n  |> difference(nonNegative: true, initialZero: false, columns: [\"_value\"])\r\n  |> aggregateWindow(every: 1mo, fn: sum, createEmpty: false, offset: -1s)",
      "refId": "B"
    },
    {
      "datasource": {
        "type": "influxdb",
        "uid": "b383168e-2097-4f5b-a983-0d137adfb3aa"
      },
      "hide": true,
      "query": "import \"timezone\"\r\n\r\noption location = timezone.location(name: \"Europe/Paris\")\r\n\r\nfrom(bucket: \"GIN\")\r\n  |> range(start: 2024-11-01T00:00:00Z, stop: 2025-07-31T00:00:00Z)\r\n  |> filter(fn: (r) => r[\"_measurement\"] == \"Consommation\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"Chauffage_chambre2\")\r\n  |> difference(nonNegative: true, initialZero: false, columns: [\"_value\"])\r\n  |> aggregateWindow(every: 1mo, fn: sum, createEmpty: false, offset: -1s)",
      "refId": "C"
    },
    {
      "datasource": {
        "type": "influxdb",
        "uid": "b383168e-2097-4f5b-a983-0d137adfb3aa"
      },
      "hide": true,
      "query": "import \"timezone\"\r\n\r\noption location = timezone.location(name: \"Europe/Paris\")\r\n\r\nfrom(bucket: \"GIN\")\r\n  |> range(start: 2024-11-01T00:00:00Z, stop: 2025-07-31T00:00:00Z)\r\n  |> filter(fn: (r) => r[\"_measurement\"] == \"Consommation\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"Chauffage_cuisine\")\r\n  |> difference(nonNegative: true, initialZero: false, columns: [\"_value\"])\r\n  |> aggregateWindow(every: 1mo, fn: sum, createEmpty: false, offset: -1s)",
      "refId": "D"
    },
    {
      "datasource": {
        "type": "influxdb",
        "uid": "b383168e-2097-4f5b-a983-0d137adfb3aa"
      },
      "hide": true,
      "query": "import \"timezone\"\r\n\r\noption location = timezone.location(name: \"Europe/Paris\")\r\n\r\nfrom(bucket: \"GIN\")\r\n  |> range(start: 2024-11-01T00:00:00Z, stop: 2025-07-31T00:00:00Z)\r\n  |> filter(fn: (r) => r[\"_measurement\"] == \"Consommation\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"Chauffage_entree\")\r\n  |> difference(nonNegative: true, initialZero: false, columns: [\"_value\"])\r\n  |> aggregateWindow(every: 1mo, fn: sum, createEmpty: false, offset: -1s)",
      "refId": "E"
    },
    {
      "datasource": {
        "type": "influxdb",
        "uid": "b383168e-2097-4f5b-a983-0d137adfb3aa"
      },
      "hide": true,
      "query": "import \"timezone\"\r\n\r\noption location = timezone.location(name: \"Europe/Paris\")\r\n\r\nfrom(bucket: \"GIN\")\r\n  |> range(start: 2024-11-01T00:00:00Z, stop: 2025-07-31T00:00:00Z)\r\n  |> filter(fn: (r) => r[\"_measurement\"] == \"Consommation\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"Chauffage_salledebain\")\r\n  |> difference(nonNegative: true, initialZero: false, columns: [\"_value\"])\r\n  |> aggregateWindow(every: 1mo, fn: sum, createEmpty: false, offset: -1s)",
      "refId": "F"
    },
    {
      "datasource": {
        "name": "Expression",
        "type": "__expr__",
        "uid": "__expr__"
      },
      "expression": "($A + $C + $D + $E + $F) * 1000 + $B",
      "hide": false,
      "refId": "Z",
      "type": "math"
    },
    {
      "datasource": {
        "type": "influxdb",
        "uid": "b383168e-2097-4f5b-a983-0d137adfb3aa"
      },
      "hide": false,
      "query": "import \"timezone\"\r\n\r\noption location = timezone.location(name: \"Europe/Paris\")\r\n\r\nfrom(bucket: \"GIN\")\r\n  |> range(start: 2024-11-01T00:00:00Z, stop: 2025-07-31T00:00:00Z)\r\n  |> filter(fn: (r) => r[\"_measurement\"] == \"Meteo\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"DJC\")\r\n  |> aggregateWindow(every: 1mo, fn: sum, createEmpty: false, offset: -1s)",
      "refId": "G"
    }
  ],
  "datasource": {
    "type": "influxdb",
    "uid": "b383168e-2097-4f5b-a983-0d137adfb3aa"
  },
  "options": {
    "mapping": "manual",
    "series": [
      {
        "frame": {
          "matcher": {
            "id": "byIndex",
            "options": 0
          }
        },
        "name": {
          "fixed": "Points"
        },
        "x": {
          "matcher": {
            "id": "byName",
            "options": "Meteo {__name__=\"Meteo\", name=\"Meteo\"}"
          }
        },
        "y": {
          "matcher": {
            "id": "byName",
            "options": "Z {__name__=\"Consommation\"}"
          }
        }
      },
      {
        "frame": {
          "matcher": {
            "id": "byIndex",
            "options": 1
          }
        },
        "name": {
          "fixed": "Régression"
        },
        "x": {
          "matcher": {
            "id": "byName",
            "options": "linear regression Meteo"
          }
        },
        "y": {
          "matcher": {
            "id": "byName",
            "options": "linear regression Z {__name__=\"Consommation\"} predicted"
          }
        }
      }
    ],
    "tooltip": {
      "mode": "single",
      "sort": "none",
      "hideZeros": false
    },
    "legend": {
      "showLegend": true,
      "displayMode": "list",
      "placement": "bottom",
      "calcs": []
    }
  }
}

The XY graph is buggy, thresholds can no longer be activated or configured, and regression lines don’t work. No one is responding to this topic, and on top of that, the title is changed, which doesn’t correspond to the thread.

I’m disappointed.

EDIT :
I tried using JSON editing to add the following parameters for the thresholds in the right place:

},
        "thresholdsStyle": {
          "mode": "dashed"
        },
        "lineStyle": {
          "dash": [
            10,
            10
          ],
          "fill": "dash"
        }
      },

But nothing happened.

I changed title, because you want to attract someone with regression knowledge, not with XY graph knowledge.

As you can see in my last edit, I’m also trying to activate the Thresholds in the settings of the XY chart.

My topic is about the problems I’m having with the XY chart. I want to clarify that the XY chart does not appear with the “beta” label.

The issues I’m facing are:
– Threshold settings not working
– Regression line is inaccurate

I also updated my software to v12.0.0.