Hi, I am trying to write a macro using PyROOT that ultimately produces a canvas containing multiple TGraphs, however I am running into an issue whereby a get an error with converting arguments. More specifically

```
TypeError: void TGraph::SetPoint(int i, double x, double y) =>
could not convert argument 2 (a float is required)
```

I understand from this thread that arguments for TGraphs need to be C-style arrays, specifically numpy arrays. Initially I had been using non-numpy arrays (which had worked for me in the past in other PyROOT applications), for example `array('d')`

, and I hoped that simply changing these to numpy arrays with `np.array(x)`

but that didn’t work and produced the error

```
TypeError: void TGraph::SetPoint(int i, double x, double y) =>
could not convert argument 2 (only length-1 arrays can be converted to Python scalars)
```

I’ve attached a test example below that gives the first error.

```
import ROOT
from ROOT import TChain, TFile, TTree, TSelector, TGraph, TGraphErrors
from ROOT import gROOT
import numpy as np
from array import array
values_dict = {}
x = array('d')
plots_dict = {}
for i in range (0,2):
values_dict["%s_values"% (i)] = array('d')
plots_dict["%s_plot"% (i)] = ROOT.TGraph()
x.append(i)
for j in range (0,3):
values_dict["%s_values"% (i)].append(j)
c1 = ROOT.TCanvas("c1","",1200,600)
for n in range(0,2):
ROOT.c1.cd(n+1)
plots_dict["%s_plot"% (n)].SetPoint(2,x,values_dict["%s_values"% (n)])
plots_dict["%s_plot"% (n)].Draw('AP')
```

Alternatively the penultimate line can be changed to

```
plots_dict["%s_plot" %(n)].SetPoint(2,np.array(x),np.array(values_dict["%s_values" %(n)]))
```

to give the second error.

Any advice on how to solve this would be much appreciated