Matplotlib常用操作

常用操作

  • 中文和负数乱码
plt.rcParams['axes.unicode_minus'] = False  #解决负号无法正常显示的问题
plt.rcParams['font.sans-serif'] = ['SimHei']
  • 坐标轴设置
    • 设置坐标轴范围
    plt.xlim([x_min,x_max])
    plt.ylim([y_min,y_max])
    
    • 设置坐标轴刻度间隔
    ax=plt.gca()#获取当前画布
    ax.xaxis.set_major_locator(plt.MultipleLocator(2))
    ax.yaxis.set_major_locator(plt.MultipleLocator(100))
    
    • 设置坐标轴的粗细
    ax=plt.gca();#获得坐标轴的句柄
    ax.spines['bottom'].set_linewidth(2);###设置底部坐标轴的粗细
    ax.spines['left'].set_linewidth(2);####设置左边坐标轴的粗细
    ax.spines['right'].set_linewidth(2);###设置右边坐标轴的粗细
    ax.spines['top'].set_linewidth(2)
    
    • 设置坐标轴刻度的样式
    plt.tick_params(axis='x',width=2,size=6)
    plt.tick_params(axis='y',width=2,size=4)
    
  • 不同类型的两组数据在同一个坐标系中(同一个X轴,不同y轴)
plt.twinx()
  • 图列相关设置
font_dict_legend=dict(size=14,
                     family='Times New Roman',
                     weight='bold',
                     style='normal')
plt.legend(frameon=False,prop=font_dict_legend,loc=`upper left`,bbox_to_anchor=(0.2,0.4))//右移百分比和上移百分比,以左下角为原点

loc可能的取值
在这里插入图片描述

  • 参考线
    水平参考线
plt.hlines(value,xmin,xmax,color='red',ls='--',lw=2)

垂直参考线

plt.vlines(value,ymin,ymax,color='red',ls='--',lw=2)
  • 在图表中绘制文字
    参数x,y表示的是文字在图标坐标系中的坐标
plt.text(x,y,s,size=16,family='Times New Roman',color='black',bbox=dict(facecolor='red', alpha=0.5))
  • 刻度设置
plt.xticks(fontsize=12,color='black',family='Times New Roman',style='normal',weight='normal',rotation=90)
  • marker相关设置
    包括前景色(markerfacecolor)、边界色(markeredgecolor)和边界宽度(markeredgewodth)
plt.plot(x, y, lw=5, ls='-', markersize=6, marker='o', markerfacecolor='white', markeredgecolor=(0, 0, 0), markeredgewidth=1.5)
  • 保存图片设置分辨率和图片留白
plt.savefig(filename,dpi=200,bbox_inches='tight')

示例

def createFig(x,y,no):
    fig=plt.figure(figsize=(6,4))
    plt.plot(x, y, lw=5, ls='-', markersize=6, marker='o', markerfacecolor='white', markeredgecolor=(0, 0, 0), markeredgewidth=1.5)
    xlim=plt.xlim()
    plt.hlines(0,xlim[0],xlim[1],lw=3,ls='--',color='#ff6929')
    plt.xlim(xlim)
    xticks=[pdl.date(2017,1,1),pdl.date(2017,7,1),pdl.date(2018,1,1),pdl.date(2018,7,1),pdl.date(2019,1,1),pdl.date(2019,7,1),pdl.date(2020,1,1),pdl.date(2020,7,1),pdl.date(2021,1,1),pdl.date(2021,7,1)]
    plt.xticks(xticks,[])
    plt.yticks(fontsize=20,color='black',family='Arial',weight='bold')
    # 设置坐标轴粗细
    ax=plt.gca();#获得坐标轴的句柄
    ax.spines['bottom'].set_linewidth(2);###设置底部坐标轴的粗细
    ax.spines['left'].set_linewidth(2);####设置左边坐标轴的粗细
    ax.spines['right'].set_linewidth(2);###设置右边坐标轴的粗细
    ax.spines['top'].set_linewidth(2)
    # 设置刻度线粗细
    plt.tick_params(axis='x',width=2,size=6)
    plt.tick_params(axis='y',width=2,size=4)
    plt.savefig("./png/{}.png".format(no))
    plt.show()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值