因此,目前正在学习如何导入数据,并与它在matplotlib和我有麻烦,即使我有确切的代码,从书中。
这就是图的样子,但我的问题是,如何在x轴的开始和结束之间没有白色的地方得到它。
代码如下:
import csv
from matplotlib import pyplot as plt
from datetime import datetime
# Get dates and high temperatures from file.
filename = 'sitka_weather_07-2014.csv'
with open(filename) as f:
reader = csv.reader(f)
header_row = next(reader)
#for index, column_header in enumerate(header_row):
#print(index, column_header)
dates, highs = [], []
for row in reader:
current_date = datetime.strptime(row[0], "%Y-%m-%d")
dates.append(current_date)
high = int(row[1])
highs.append(high)
# Plot data.
fig = plt.figure(dpi=128, figsize=(10,6))
plt.plot(dates, highs, c='red')
# Format plot.
plt.title("Daily high temperatures, July 2014", fontsize=24)
plt.xlabel('', fontsize=16)
fig.autofmt_xdate()
plt.ylabel("Temperature (F)", fontsize=16)
plt.tick_params(axis='both', which='major', labelsize=16)
plt.show()
2条答案
按热度按时间xa9qqrwz1#
在边缘处有一个自动边距设置,它确保数据在轴脊椎内很好地拟合。在这种情况下,在y轴上可能需要这样的裕度。默认情况下,以轴跨度为单位将其设置为
0.05
。要将x轴上的边距设置为
0
,请使用或
这取决于上下文。参见the documentation。
如果您想在整个脚本中去掉边距,可以使用
在脚本的开头(当然对于
y
也是一样)。如果你想彻底摆脱边距,你可能需要修改matplotlib rc file中的相应行:示例
或者,使用
plt.xlim(..)
或ax.set_xlim(..)
手动设置轴的限制,以使没有白色。kuhbmx9i2#
如果您只想删除一边的边距而不删除另一边的边距,例如:删除右边的边距而不是左边的边距,你可以在matplotlib axes对象上使用
set_xlim()
。