使用向任意位置添加坐标轴,定制刻度,隐藏上、右轴脊来绘制折线图

想要在任意位置添加坐标系,首先需要认识axes()函数,下面就来介绍这个函数

pyplot模块可以使用axes()函数来创建一个Axes()类的对象,并将这个对象添加到当前的画布中,axes()函数语法如下:

axes(arg=None,projection=None,polar=False,aspect,frame_on,**kwargs)

参数含义如下:

arg:这个参数可以有两种取值,一种是None,另一种时4-tuple。当值为None时,表示使用subplot(111)添加的与画布等同大小的Axes对象;当值为4-tuple时,表示用这个值来自定义控制坐标系的位置和大小,它是由4个浮点型元素(取值范围为0~1)组成的元组(left,bottom,width,height)。"left,bottom"这两个数可以理解为坐标系的左下方的角的坐标,left表示横坐标,可以控制坐标系的左右位置;bottom表示纵坐标,可以控制坐标系的上下位置。“width,height”这两个数可以控制坐标系的大小,width表示坐标系的宽度,height表示坐标系的高度。

projection:表示坐标系的类型,它的值可以是None、'aitoff'、'hammer'、'lambert'、'mollweide'、'polar'或'rectilinear'中任一取值,也可以使用自定义的类型

polar:表示使用极坐标,若设为True,则其作用等价于projection='polar'

aspect:表示坐标轴的比例,可接收'auto','equal',num中任一取值。默认为'auto',表示长方形;'equal'表示正方形;num表示一个纵轴比横轴的浮点数,例如num=2,表示y轴的占比为2,横轴的占比为1。

frame_on:表示是否显示每个坐标轴的轴脊

刻度标签语法:

matplotlib.pyplot.xticks(ticks=None, labels=None, *, minor=False, **kwargs)

 

参数说明:
ticks:表示显示刻度位置的列表,该参数可以设置空列表,以此禁用x轴的刻度
labels:表示对ticks位置过刻度添加标签的列表

pyplot中可以使用tick_params()函数定制刻度的样式。

tick_params()函数的语法格式如下:
tick_params(axis='both',**kwargs)


该函数的常用参数的含义如下
axis:表示选择操作的轴,可以取值为‘x'、'y'或"both',默认为"both'。
reset:若设为True,表示在处理其他参数之前均使用参数的默认值。
which:表示刻度的类型,可以取值为'major'、'minor'或"both',默认为'major'。direction:表示刻度线的方向,可以取值为'in'(表示刻度线朝内)、'out'(表示朝外)或'inout'(表示刻度线处于中间)。
length:表示刻度线的长度。
width:表示刻度线的宽度。
color:表示刻度线的颜色。
pad:表示刻度线与刻度标签的距离。
labebsize:表示刻度标签的字体大小。
labelcolor:表示刻度标签的颜色。
bottom, top, left, right:表示是否显示下方、上方、左侧、右侧的刻度线。
labelbottom, labeltop,labelleft, labelright:表示是否显示下方、上方、左侧、右侧的刻度标签。
labelrotation:表示刻度标签旋转的角度

根据要求,完整代码如下

# matplotlib中文网 https://www.matplotlib.org
 
# 需求一:绘制某股票一周内收盘价折线图(见运行结果展示图)

import numpy as np
import matplotlib.pyplot as plt


# 0.设置中文黑体
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
 
# 1.准备数据
x_data = np.arange(1,8,1)
y_data = [44.98, 45.02, 44.32, 41.05, 42.08, 42.08, 42.08] # 周末休市
weekday_data=['周一', '周二', '周三', '周四', '周五', '周六', '周日']


# 2.创建画布和坐标系
ax = plt.axes((0.2, 0.2, 0.5, 0.5))
 
# 3.绘图
plt.plot(x_data,y_data,'mo-',markersize=15)
 
# 4.定制刻度
plt.xticks(x_data,labels=weekday_data)
ax.tick_params(axis='y', direction='in', length=8, width=2)
ax.tick_params(axis='x', direction='in', length=8, width=2,labelrotation=15)
 
# 5.设置轴标签
plt.xlabel('周日期',fontdict={'fontsize':15})
plt.ylabel('收盘价($¥$)',rotation='horizontal',labelpad=30,fontdict={'fontsize':15})
# 6.隐藏上轴脊和右轴脊
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
 
# 7.展示图表
plt.show()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值