【python-matplotlib绘图】绘图属性统一调整方法

前言:为了避免每次绘图时都要反复输入linewidth=2,marksize=4这类参数导致的代码很长的问题,采用了一种更为美观,便于统一理解的方法。

实现原理与方法

首先我们来看一下ply.plot的使用说明:
输入

help(ply.plot)

plt.plot帮助文档

重点看 call signatures:

plot(*args, scalex=True, scaley=True, data=None, **kwargs)
    Plot y versus x as lines and/or markers.
    
    Call signatures::
    
        plot([x], y, [fmt], *, data=None, **kwargs)
        plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

参数的传入方式 *args和**kwargs两种。
关于python函数中 * 和**的理解可以参考Python函数中*和**的内涵究竟是什么呢?



plt.figure(num = 'Train', figsize =(16,12), edgecolor = 'k', frameon = True)
plot_list = {'markersize': 8, 'linewidth':2} # 统一设置标记点大小和线宽
linestyle_list = ['r-+', 'g-o', 'b-*','y-^', 'c-v', 'm-x'] # 线条颜色及样式列表   
plt.subplot(211)
plt.plot(np.arange(n_samples), y_train,color = 'k', label='True y',**plot_list) # **plot_list实现对plot_list的解包
for i, pre_y in enumerate(y_train_pre):
    plt.plot(np.arange(n_samples), pre_y,
         linestyle_list[i], label = model_names[i],**plot_list) 
font1 = {'family':'Time New Roman','weight':'normal', 'size':24}
font2 = {'family':'Time New Roman','weight':'normal', 'size':12}
plt.title('Regression result comparsion',font1)
plt.legend(loc = 'upper right', prop =font2)
plt.xlabel('Number', font1)
plt.ylabel('Real and prediction values(μm)', font1)
#设置坐标刻度值的大小
plt.tick_params(labelsize=23)

plot中属性调整参考资料

Matplotlib 教程
python画图:线条和颜色

参考资料

Python函数参数中*和**含义

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值