Проблема заключается в следующем:
- У вас есть одно ненулевое значение в вашем
Tx
. Остальные все значения равны нулю, для которых лог не определен. Таким образом, все выглядит хорошо в линейном масштабе, но когда вы строите график в логарифмическом масштабе по шкале y, появляется единственный пик для ненулевого значения, поскольку он связан с -inf
, который является значением log (0). В результате он выглядит как бар.
Чтобы убедить себя, вы можете просто нарисовать маркер вместо линии, используя
plt.plot(Tx, 'bo', label='merge_sort')
![enter image description here](https://i.stack.imgur.com/5co03.png)
Линейная шкала Y
Tx = [0.0019073486328125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
plt.plot(Tx, label='merge_sort')
plt.xlabel("n")
plt.ylabel('ms')
plt.legend(loc = "upper right")
plt.show()
![enter image description here](https://i.stack.imgur.com/zYvY3.png)
Логарифмическая шкала Y
Tx = [0.0019073486328125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
plt.plot(Tx, label='merge_sort')
plt.xlabel("n")
plt.ylabel('ms')
plt.yscale('log')
plt.legend(loc = "upper right")
plt.show()
![enter image description here](https://i.stack.imgur.com/vPnvk.png)