Visual improvements for ROC and precision-recall plots

### Describe the workflow you want to enable

Hello,

I would like to suggest the following improvements:

- [x] (1) Add x and y axis limit: [0, 1], in sklearn axes currently start at ~-0.1 (#26366)
- [x] (2) Modify the plotting frame: either remove the top and right lines to see the curve better when values are close to 1, or plot the frame with a dotted line (#26367)
- [x] (3). Fix aspect ratio to squared, since the two axes are the same scale. (#26366)
- [x] (4). Add title (not planned)

### Describe your proposed solution

Hello,

While working on ROC and precision-recall plots, I came up with the following suggestions:

1. Add x and y axis limit: [0, 1], in sklearn axes currently start at ~-0.1
2. Modify the plotting frame: either remove the top and right lines to see the curve better when values are close to 1, or plot the frame with a dotted line
3. Fix aspect ratio to squared, since the two axes are the same scale.
4. Add title

```
        ax.set_xlim((-0.01, 1.01))
        ax.set_ylim((-0.01, 1.01))
        for s in ['right', 'left', 'top', 'bottom']:
            ax.spines[s].set_visible(False)
        ax.axvline(1, color='black', linewidth=0.5, ls='dotted')
        ax.axhline(1, color='black', linewidth=0.5, ls='dotted')
        ax.axvline(0, color='black', linewidth=0.5, ls='dotted')
        ax.axhline(0, color='black', linewidth=0.5, ls='dotted')
        ax.set_aspect(1)
        ax.set_title(f'Precision-Recall Curve')
```

### Example 1 Edge case
#### PR
Before:
![image](https://user-images.githubusercontent.com/1184396/226746221-40b40d56-74a4-49c1-82aa-4a3f3366abe2.png)

After:
![image](https://user-images.githubusercontent.com/1184396/226746245-3e0a0ffd-28f0-4851-8a41-04629750bd2c.png)

#### ROC
Before:
![image](https://user-images.githubusercontent.com/1184396/226746270-ecc2a1ce-48dc-4682-8acd-86a4d06dfcf0.png)

After:
![image](https://user-images.githubusercontent.com/1184396/226746289-8ba8c906-f8f8-4d74-9269-b12c16d339fa.png)

### Example 2 - Edge case

#### PR
Before:
![image](https://user-images.githubusercontent.com/1184396/226745897-de69cf76-f520-499f-b8b6-4e9ede9e7ba2.png)

After:
![image](https://user-images.githubusercontent.com/1184396/226745936-5fc34fff-eff3-4a70-8b99-b7c731984723.png)

#### ROC
Before:
![image](https://user-images.githubusercontent.com/1184396/226745998-d1788d4a-fd0a-4293-bef5-170a71c0a098.png)

After:
![image](https://user-images.githubusercontent.com/1184396/226746031-e93dff40-2487-4776-a5b8-baeef9a36e5d.png)



### Describe alternatives you've considered, if relevant

_No response_

### Additional context

_No response_

COMMENT:
Yes, if Average Precision is the measure, than the stepwise plot is fine; for proper AU-PRC you need to use exponential interpolation, not linear interpolation. (It is linear interpolation in harmonic space, on the reciprocal values IIRC.)
Davis & Goadrich show a simple example where linear interpolation overestimates the area substantially, that could serve as a unit test. They give an equation for interpolation, and if you compute the integral of this equation you can compute the area for each segment.
I am not sure what is the best way to do this kind of interpolation in matplotlib. Possibly it is easiest to just sample 1000 samples on the x axis and plot this.

Labels: Enhancement