用matplotlib绘制好看的图表

用matplotlib绘制好看的图表

虽然可能我说的“好看”不是好看,但这是一个方法。
图1 误差曲线图
这是图1,如何实现几个重点部位?

箭头的实现需要axis artist:

import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist

不妨将图片长宽比设置为10:8,将保存的图片分辨率设置为256.

graph_size = (10, 8)
setDpi=256
fig = plt.figure(figsize=graph_size)
ax = axisartist.Subplot(fig, 1, 1, 1)

实现箭头:

fig.add_axes(ax)
ax.axis[:].set_visible(False)
ax.axis["x"] = ax.new_floating_axis(0, 0)
ax.axis["y"] = ax.new_floating_axis(1, 0)
ax.axis["x"].set_axisline_style("->")
ax.axis["y"].set_axisline_style("->")

实现刻度大小、标签文本大小:20

ax.axis["x"].major_ticklabels.set_size(20)
ax.axis["x"].label.set_size(20)
ax.axis["y"].major_ticklabels.set_size(20)
ax.axis["y"].label.set_size(20)

设置标签:

ax.axis["x"].label.set_text("Iteration")
ax.axis["y"].label.set_text("loss")

y轴刻度方向:

ax.axis["y"].set_axis_direction('left')

这是刻度标签文本,"":

ax.annotate(text='', xy=(1, 0), xytext=(0, 0))
ax.annotate(text='', xy=(0, 1), xytext=(0, 0))

绘制内容


plt.plot(x1, y1[start:], color="b")
plt.plot(x1, y2[start:], "-.", color="orange")

线条标注

plt.legend(["val loss", "train loss"], prop={"size": 20})

其他

plt.savefig("LossGraph.png", dpi=setDpi, bbox_inches="tight", pad_inches=0.2)
plt.show()
plt.close()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值