本博客记录个人在使用matplotlib绘图时的一些解决方案,以作备忘。
1. 横坐标标签过长,考虑将标签旋转
我们仅仅需要利用接口xticks即可。
plt.xticks(rotation = 10) # 10 代表旋转的角度
""" draw histgram """
def drawBarPlot(model_list, data_list, y_label, save_path, title):
fix, ax = plt.subplots()
sns.barplot(model_list, data_list, palette="rocket", ax=ax)
# ax.axhline(64, color="k", clip_on=True)
ax.set_ylabel(y_label)
plt.xticks(rotation = 10)
plt.title(title)
plt.savefig(save_path)
plt.show()
- 如何简单地控制横纵坐标的范围?
这里也很简单,我们只要使用调用接口axis或者 xlim, ylim接口即可
plt.axis([xmin, xmax, ymin, ymax])
或者:
plt.ylim([ymin, ymax])
plt.xlim([xmin, xmax])
""" draw histgram """
def drawBarPlot(model_list, data_list, y_label, save_path, title):
fix, ax = plt.subplots()
sns.barplot(model_list, data_list, palette="rocket", ax=ax)
# ax.axhline(64, color="k", clip_on=True)
ax.set_ylabel(y_label)
plt.xticks(rotation = 10)
plt.ylim([68, 71])
plt.title(title)
plt.savefig(save_path)
plt.show()
3. 如何在服务器等无GUI环境下调用plt
import matplotlib.pyplot as plt
plt.switch_backend('agg')
开头引入plt之后声明agg模式,然后记得保存图片。
plt.savefig("image.png")
慢慢补充~