我想在y轴上用科学数字绘制图形。我使用了来自matplotlib的ticklabel格式。但是我没有在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)
所需的输出: