[英]How to set tick frequency of ylim in matplotlib
我有以下图表印迹。 我需要 ylim 的步长为 10,并且应该从 10 到 70 开始,如图所示。
plt.figure(figsize=(3,2))
no = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
measured_tech_1= [37.506, 37.506, 37.506, 37.506, 37.506, 37.506, 37.506, 37.506, 37.506, 37.506, 37.506,37.506, 37.506]
predicted_tech_1= [38.811, 38.811, 38.811, 38.811, 38.811, 38.811, 38.811, 38.811, 38.811, 38.811, 38.811,38.811, 38.811]
measured_tech_2 = [4.735, 8.451, 10.702, 12.857, 14.900, 16.908, 19.233, 21.328, 23.351, 25.403, 27.580, 29.939,32.832]
predicted_tech_2 = [2.945, 6.989, 8.294, 10.968, 13.643, 16.506, 19.261, 21.658, 24.056, 26.454, 29.175, 32.240,34.795]
measured_tech_3 = [38.495, 38.495, 38.495, 38.495, 38.495, 38.771, 38.771, 38.771, 38.771, 38.616, 38.616, 38.616,38.616]
predicted_tech_3 = [35.255, 35.351, 35.463, 35.492, 35.181, 35.410, 35.483, 35.453, 35.329, 35.146, 34.6130,35.407, 35.500]
plt.plot(no,measured_tech_1 , color='orange', marker='^',linestyle='dashed',label='Measured-Technique 1')
plt.plot(no,predicted_tech_1 , color='orange', marker='*',linestyle='dashed',label='Predicted-Technique 1')
plt.plot(no, measured_tech_2, color='purple', marker='^', linestyle='dashed',label='Measured-Technique 2')
plt.plot(no, predicted_tech_2, color='purple', marker='*'linestyle='dashed',label='Predicted-Technique 2')
plt.plot(no, measured_tech_3, color='green', marker='^',linestyle='dashed',label='Measured-Technique 3')
plt.plot(no, predicted_tech_3, color='green', marker='*',linestyle='dashed',label='Predicted-Technique 3')
plt.ylim(10, 70)
plt.xticks(no,fontsize='8')
plt.legend(loc='upper right',prop={'size': 3.5})
plt.xlabel('No.')
plt.ylabel('Latency')
使用带有Axis.set_major_locator
的 刻度定位器之一:
MultipleLocator
在这里最简单
from matplotlib import ticker plt.gca().yaxis.set_major_locator(ticker.MultipleLocator(10))
FixedLocator
式范围的固定定位器
plt.gca().yaxis.set_major_locator(ticker.FixedLocator(range(10, 80, 10)))
总刻度的LinearLocator
器
plt.gca().yaxis.set_major_locator(ticker.LinearLocator(7))
最大刻度的MaxNLocator
plt.gca().yaxis.set_major_locator(ticker.MaxNLocator(7))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.