Я хочу построить свой график с научным номером по оси Y. Я использовал формат ticklabel от matplotlib. Но я не получаю вывод моего желания в метке оси Y. Я приложил свой сценарий к выходному изображению (image_1), а image_2 - мое желание.
Код:
import numpy as np
import matplotlib.pyplot as plt
x1, y1 = [], []
label_added =False
with open("50kev_vacancy.txt") as f:
for line in f:
cols = line.split()
x1.append(float(cols[0]))
y1.append(float(cols[3]))
if not label_added:
plt.plot(x1,y1,'b-', label="50kev")
label_added = True
else:
plt.plot(x1,y1,'b-')
plt.title('Different PKA energy')
plt.xlabel('time_ps')
plt.ylabel('Number of vacancy')
plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0))
legend = plt.legend(loc='upper center', shadow=True, fontsize='x-large')
plt.tight_layout()
plt.savefig("Different_PKA_energy_vacancy_vs_time.jpeg", dpi=50)
Выход:
желаемый вывод: