These learning curves seem unusual - the training accuracy should start high and get lower as more samples are added.
I suspect that your data is sequential (it has some kind of time dependency). sklearn's learning_curve function does not seem to shuffle the data (should it?), so the training accuracy can change/increase once new structures appear in the data over time.
Here's a notebook trying to reproduce the effect:
https://gist.github.com/stmax82/79b744877b0a482f8739d372c4777e0d
Two images from the notebook:
The learning curves on the shuffled data look like that (as expected):
While the learning curves on the original / sequential data look like that (unusual because training accuracy is rising over time):
That's just my try at explaining your learning curves. It might be something completely different... try shuffling your data to find out.