numpy 在Matplotlib中,如何在Y轴与起始和结束竖线之间给予一些空间

jogvjijk  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(110)
import matplotlib.pyplot as plt  
import numpy as np  
from matplotlib.pyplot import figure  
plt.style.use('ggplot')  

overs = np.arange(1, 51)  
india_score = np.random.randint(low = 1, high = 18, size = 50, dtype = 'int16')  

plt.bar(overs, india_score, width = 0.80, align = 'center', color = 'orange', label = 'Runs per over')  
plt.xlabel('Overs')  
plt.ylabel('Score')  
plt.title('India Inning')  
plt.axis([1, 50, 0, 18])  
plt.legend()  
plt.grid(color='k', linestyle='-', linewidth=1)  
fig = plt.gcf()  
fig.set_size_inches(16, 9)  
plt.show()

输出如下所示:

如果你看到的条形图,然后运行得分在第一次超过和运行得分在最后一次超过坚持到Y轴。我怎么能给予一些空间之间的Y轴和我的第一个和最后一个垂直条。我尝试了页边距功能,但这是行不通的
我搜索了类似的帖子,但我不能理解的解决方案,因为我是新的matplotlib。任何帮助将不胜感激。谢谢。

gdx19jrr

gdx19jrr1#

以下是您可以执行此操作的方法:

import matplotlib.pyplot as plt  
import numpy as np  
from matplotlib.pyplot import figure  
plt.style.use('ggplot')  

overs = np.arange(1, 51)  
india_score = np.random.randint(low = 1, high = 18, size = 50, dtype = 'int16')  

plt.bar(overs, india_score, width = 0.80, align = 'center', color = 'orange', label = 'Runs per over')  
plt.xlabel('Overs')  
plt.ylabel('Score')  
plt.title('India Inning')  
plt.axis([1, 50, 0, 18])  
plt.legend()  
plt.grid(color='k', linestyle='-', linewidth=1)  
fig = plt.gcf()  
fig.set_size_inches(16, 9)  
left, right = plt.xlim()
plt.xlim(left-1, right+1)
plt.show()

left, right = plt.xlim()获得x轴的当前限制,并且plt.xlim(left-1, right+1)将新限制设置为相对于旧限制更向外一步。

相关问题