【Matpyplot】绘制论文用图表

在撰写论文的时候发现论文需要上传清晰的pdf格式的图,和我们平时跑实验用的图不是一个概念。需要根据排版的格式进行调整,改大小,清晰度,去白边等操作,故在此整理记录。

图片大小
plt.figure(figsize=[7, 5]) #用来控制图像大小 先width 后height
画折线图
plt.plot(x_axis,data, label="XXX", color="red", linewidth=1.1, marker='s', markersize=12)

x_axis 是用来设置x轴坐标显示的标签
label 给线加上图例说明
color 线颜色
linewidth 线宽度
marker 折线顶点标识 s:标识方块,也有三角V,原点o等其他
alpha 用来调节线条透明度

平滑曲线

因为我用来画的主要是机器学习里面的图随着迭代次数增加,相关曲线会频繁震荡,画出来的图会不好看,因此就需要进行进行平滑处理,下面的平滑函数使用了,tensorboard中的计算方式。

def smooth(data, weight=0.8):
    last = data[0]
    res= []
    for point in data:
        smoothed_val = last * weight + (1 - weight) * point
        res.append(smoothed_val)
        last = smoothed_val
    return res

这时候就可以画出下面这种图
在这里插入图片描述

字符格式设置

为x轴y轴添加说明,同时可以改变字体大小

    plt.ylabel('Reward',fontsize=25)
    plt.xlabel('Training epochs',fontsize=25)

控制图例大小和位置,有的时候因为数据太多产生的图例可能会导致,图例挡住图像,这时候就可使用如下代码修改图例的大小和位置

font1 = {'family': 'Times New Roman',
         'weight': 'normal',
         'size': 18,
         }
plt.legend(loc='upper right', prop=font1)

loc可以控制图例具体位置,prop控制字体大小格式

去白边
    fig = plt.gcf()
    plt.margins(0, 0)
    fig.tight_layout()

plt.gcf可以取到fig图,然后根据fig图,清除到多余的白框

导出PDF

为了导出论文能使用的图片因此就需要使用pdf格式,同时设置一个大的dpi

    fig.savefig("./XXX.pdf", format='pdf', transparent=True, dpi=300, pad_inches=0)
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值