BUG: df.plot fails when given x,y args as positions
#### Code Sample, a copy-pastable example if possible

```python
from pandas import DataFrame

df = DataFrame({"A": [1, 2], 'B': [3, 4]})
df.plot(x=0, y=1)
```
#### Problem description

```
IndexError: index 1 is out of bounds for axis 0 with size 1
```

I came across this when writing test cases for my PR #20000 - looks like it happens due to calling `set_index` on the data rather than on a copy. I can potentially fix it there or open a separate PR.
