坐标轴的定制-绘制某股票一周内收盘价折线图

坐标轴定制是matplotlib中非常重要的一部分,可以帮助我们更好地展示数据。下面是对绘制坐标轴常用到的具体说明

1.获取坐标轴对象

在matplotlib中,我们可以通过以下方式获取坐标轴对象:

ax = plt.gca() # 获取当前坐标轴对象

2.设置坐标轴范围

我们可以使用set_xlim()和set_ylim()方法来设置坐标轴的范围:

  • ax.set_xlim(0, 10) # 设置x轴范围为0到10
  • ax.set_ylim(0, 20) # 设置y轴范围为0到20
3.设置坐标轴标签

我们可以使用set_xlabel()和set_ylabel()方法来设置坐标轴的标签:

  • ax.set_xlabel('x轴标签') # 设置x轴标签
  • ax.set_ylabel('y轴标签') # 设置y轴标签
4.设置坐标轴刻度

我们可以使用set_xticks()和set_yticks()方法来设置坐标轴的刻度:

  • ax.set_xticks([0, 2, 4, 6, 8, 10]) # 设置x轴刻度
  • ax.set_yticks([0, 5, 10, 15, 20]) # 设置y轴刻度
5.设置坐标轴刻度标签

我们可以使用set_xticklabels()和set_yticklabels()方法来设置坐标轴的刻度标签

  • ax.set_xticklabels(['0', '2', '4', '6', '8', '10']) # 设置x轴刻度标签
  • ax.set_yticklabels(['0', '5', '10', '15', '20']) # 设置y轴刻度标签
6.设置坐标轴位置

我们可以使用spines属性来设置坐标轴的位置:

  • ax.spines['right'].set_color('none') # 隐藏右边的坐标轴
  • ax.spines['top'].set_color('none') # 隐藏上面的坐标轴
  • ax.xaxis.set_ticks_position('bottom') # 将x轴刻度放在下面
  • ax.yaxis.set_ticks_position('left') # 将y轴刻度放在左边
  • ax.spines['bottom'].set_position(('data', 0)) # 将x轴放在y轴的0位置 ax.spines['left'].set_position(('data', 0)) # 将y轴放在x轴的0位置
7.设置坐标轴样式

我们可以使用tick_params()方法来设置坐标轴的样式:

ax.tick_params(axis='both', direction='in', length=5, width=1, colors='r') # 设置坐标轴样式

接下来让我们做以下题目为例,来演示如何使用这些函数,绘制坐标轴 

根据上表的数据绘制一个折线图,具体要求如下:

(1)在距画布顶部0.2、左侧0.2的位置上添加一个宽度为0.5、高度为0.5的绘图区域;

(2)x轴的刻度标签为周日期;

(3)刻度样式调整:方向朝内、宽度为2,长度为8;

(4)隐藏坐标轴的上轴脊、右轴脊

#导入模块
import numpy as np
import matplotlib.pyplot as plt
#设置外侧中文
plt.rcParams["font.sans-serif"] = ["KaiTi"]
plt.rcParams["axes.unicode_minus"] = False 
# 数据
x_data = np.arange(1,8)
y_data = [44.98, 45.02, 44.32, 41.05, 42.08, 42.08, 42.08]
# 画布
fig = plt.figure()
# (1)在距画布顶部0.2,左侧0.2的位置上添加一个宽度为0.5,高度为0.5的绘图区域
ax = fig.add_axes((0.2, 0.2, 0.5, 0.5))
# 绘图
ax.plot(x_data, y_data,
        '-o',# 标记和线的类型
        ms=8 # 标记的大小
       color=purplo #设置颜色为紫色)
#设置y轴标签
ax.set_ylabel('收盘价 (¥)',
              fontsize=13.8,#字体大小
              rotation=360.,#字体旋转角度
              labelpad=28.8)#标签距坐标轴的距离
# 设置x轴标签
# (2) x轴的刻度标签为周日期
x_name = ['周一','周二','周三','周四','周五','周六','周日']
plt.xticks(x_data, x_name, rotation=20)
ax.set_xlabel('周日期',
              fontsize=13.8,#字体大小
              labelpad=14.8)#标签距坐标轴的距离)
 
# 刻度线样式调整
# (3)刻度样式调整:方向朝内,宽度为2
plt.tick_params(direction='in', # 刻度线方向朝里
                width=2 # 刻度线宽度为2
               )
 
# 隐藏上和右轴脊
# (4)隐藏坐标轴的上轴脊和右轴脊
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
plt.show()

图像展示:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值