下午,
在非屏幕“web-app”上使用AGG后端时,MatplotLib提供了不可读的轴标签,带屏幕的设备(Windows笔记本电脑)上的相同代码会产生预期效果。
使用此处指定的backend.use('agg'): https://matplotlib.org/faq/howto_faq.html#howto-webapp
相同的代码产生两个不同的输出:
Ubuntu 16.04 - Without Display
相关代码(整个代码约为4kb,上图的绘图部分在这里)
import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as plt
#...other code that processes data and whatnot...
#Active Sessions Collasped Graph
axes = plt.gca()
for dp in device.sessionStats:
plt.plot([x.curTime for x in dp.sessions if x.name == "active"],[x.value for x in dp.sessions if x.name == "active"],label=dp.dataplane+" Active Sessions")
handles, labels = axes.get_legend_handles_labels()
axes.legend()
plt.gcf().autofmt_xdate()
plt.savefig(graphDirectory+'dpActiveSessionsGraph.png', bbox_inches='tight')
plt.close()