python matplotlib 定制坐标轴

例子:根据下表的数据,将时间列的数据作为x轴的刻度标签,将风速列的数据作为y轴的数据,使用plot()方法绘制反映深圳市24小时平均风速的折线图


长度为6,宽度为2,标签大小为12刻度线方向朝内,长度为6,宽度为2,标签大小为12

 

提取条件:

(1)刻度线方向朝内,长度为6,宽度为2,标签大小为12

(2)x轴刻度标签为固定格式的时间

下面是完整代码以及注释:

dates = ['201910240', '2019102402', '2019102404', '2019102406',
             '2019102408', '2019102410', '2019102412', '2019102414',
             '2019102416', '2019102418', '2019102420', '2019102422', '201910250']

    # 提取到datetime对象后,
    # 要把它格式化为字符串str,
    # 转换方法是通过strftime()实现的,需要一个日期和时间的格式化字符串
    # 例如:2019,10,24,0,0 格式:年 月 日 小时 分钟 默认分钟为0
    x_date=[datetime.strptime(d,"%Y%m%d%H") for d in dates]
    print(x_date)
    
    y_data = np.array([7,9,11,14,8,15,22,11,10,11,11,13,8])

    # 创建自定义的图像
    fig = plt.figure()
    
    # add_axes()方法为图形添加轴,参数是一个由4个元素组成的list对象,
    # 分别对应图形的左、底、宽、高。每个数字必须在0和1之间。
    ax = fig.add_axes((0.07,0.13,0.9,0.9))
    print(x_date)

    # 画折线图
    ax.plot(x_date,y_data,'->',ms=8,mfc='#FF9900')
    ax.set_title('深圳市24小时的平均风速')
    ax.set_xlabel('时间(h)')
    ax.set_ylabel('平均风速(km/h)')

    #设置x轴主刻度的位置和格式
    # 创建一个DateFormatter格式器(与日期相关的) ,格式为小时:分钟
    date_fmt = DateFormatter('%H:%M')

    # 将date_fmt设为x轴的主刻度格式器
    ax.xaxis.set_major_formatter(date_fmt)

    # 刻度线方向朝内,长度为6,宽度为2,标签大小为12,没有axis参数就默认both
    ax.tick_params(direction='in',length=6,width=2,labelsize=12)

    # labelrotation:表示刻度标签旋转的角度
    ax.xaxis.set_tick_params(labelrotation=45)
    plt.show()

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值