import matplotlib.pyplot as plt
import maxframe.tensor as mt
import numpy as np

a = mt.arange(4)
p = mt.linspace(0, 100, 6001)
ax = plt.gca()
lines = [
    ('linear', None),
    ('higher', '--'),
    ('lower', '--'),
    ('nearest', '-.'),
    ('midpoint', '-.'),
]
for interpolation, style in lines:
    ax.plot(
        np.asarray(p), np.asarray(mt.percentile(a, p, interpolation=interpolation)),
        label=interpolation, linestyle=style)
ax.set(
    title='Interpolation methods for list: ' + str(a),
    xlabel='Percentile',
    ylabel='List item returned',
    yticks=np.asarray(a))
ax.legend()
plt.show()