Python 绘制x轴的边缘

Python 绘制x轴的边缘,python,matplotlib,Python,Matplotlib,我试图用日期在x轴上得到一些绘图边线,因为末端的条被剪断了。但我不想在轴上使用更大的日期跨度。我尝试过使用set_xmargin()但运气不佳。我如何解决这个问题 import numpy as np import matplotlib.pyplot as plt import datetime import matplotlib.dates as mdates today = datetime.date.today() imsiDate = [datetime.date(2016, 1,

我试图用日期在x轴上得到一些绘图边线,因为末端的条被剪断了。但我不想在轴上使用更大的日期跨度。我尝试过使用set_xmargin()但运气不佳。我如何解决这个问题

import numpy as np
import matplotlib.pyplot as plt
import datetime
import matplotlib.dates as mdates

today = datetime.date.today()

imsiDate = [datetime.date(2016, 1, 11), datetime.date(2016, 1, 14), datetime.date(2016, 1, 18), ]
imsiUp = [13, 6, 24]
imsiDown = [4, 23, 1]

ax = plt.subplot()
ax.set_xmargin(0.75)
ax.xaxis_date()
ax.autoscale_view()

ax.yaxis.grid()
plotUp = ax.bar(imsiDate, imsiUp, width=0.75, color='r', align='center')
plotDown = ax.bar(imsiDate, imsiDown, width=0.75, color='y', align='center', bottom=imsiUp)
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
ax.xaxis.set_minor_locator(mdates.DayLocator())

#limits
t0 = today - datetime.timedelta(7) 
t1 = today
ax.set_xbound(t0, t1)

plt.xticks(rotation='vertical')
plt.subplots_adjust(bottom=0.25)

plt.show()

我认为在打印后设置边距和后,需要调用
ax.autoscale\u view()
。(不过,0.75是一个很大的余量!)

将numpy导入为np
将matplotlib.pyplot作为plt导入
导入日期时间
将matplotlib.dates导入为mdates
今天=datetime.date.today()
imsiDate=[datetime.date(2016,1,11),datetime.date(2016,1,14),datetime.date(2016,1,18),]
imsiUp=[13,6,24]
imsiDown=[4,23,1]
ax=plt.子批()
ax.xaxis_日期()
ax.yaxis.grid()
plotUp=ax.bar(imsiDate,imsiUp,宽度=0.75,颜色='r',对齐='center')
向下绘制=最大条形图(imsiDate、imsiDown、宽度=0.75、颜色=y',对齐=中心,底部=imsiUp)
ax.xaxis.set\u major\u格式化程序(mdates.DateFormatter(“%Y-%m-%d”))
ax.xaxis.set_minor_定位器(mdates.DayLocator())
#极限
t0=今天-datetime.timedelta(7)
t1=今天
ax.set_xbound(t0,t1)
最大设定值(0.75)

ax.autoscale_view()#我想您需要在打印后设置边距后调用
ax.autoscale_view()
。(不过,0.75是一个很大的余量!)

将numpy导入为np
将matplotlib.pyplot作为plt导入
导入日期时间
将matplotlib.dates导入为mdates
今天=datetime.date.today()
imsiDate=[datetime.date(2016,1,11),datetime.date(2016,1,14),datetime.date(2016,1,18),]
imsiUp=[13,6,24]
imsiDown=[4,23,1]
ax=plt.子批()
ax.xaxis_日期()
ax.yaxis.grid()
plotUp=ax.bar(imsiDate,imsiUp,宽度=0.75,颜色='r',对齐='center')
向下绘制=最大条形图(imsiDate、imsiDown、宽度=0.75、颜色=y',对齐=中心,底部=imsiUp)
ax.xaxis.set\u major\u格式化程序(mdates.DateFormatter(“%Y-%m-%d”))
ax.xaxis.set_minor_定位器(mdates.DayLocator())
#极限
t0=今天-datetime.timedelta(7)
t1=今天
ax.set_xbound(t0,t1)
最大设定值(0.75)
ax.自动缩放视图()#
import numpy as np
import matplotlib.pyplot as plt
import datetime
import matplotlib.dates as mdates

today = datetime.date.today()

imsiDate = [datetime.date(2016, 1, 11), datetime.date(2016, 1, 14), datetime.date(2016, 1, 18), ]
imsiUp = [13, 6, 24]
imsiDown = [4, 23, 1]

ax = plt.subplot()
ax.xaxis_date()

ax.yaxis.grid()
plotUp = ax.bar(imsiDate, imsiUp, width=0.75, color='r', align='center')
plotDown = ax.bar(imsiDate, imsiDown, width=0.75, color='y', align='center', bottom=imsiUp)
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
ax.xaxis.set_minor_locator(mdates.DayLocator())

#limits
t0 = today - datetime.timedelta(7) 
t1 = today
ax.set_xbound(t0, t1)

ax.set_xmargin(0.75)
ax.autoscale_view()                    # <----  THIS
plt.xticks(rotation='vertical')
plt.subplots_adjust(bottom=0.25)

plt.show()