坐标轴的定制

坐标轴概述:

在绘制图表的过程中,matplotlib会根据所绘制图表的类型决定是否使用坐标轴,或者显示哪种类型的坐标系。坐标轴的结构相同,主要包括轴脊和刻度。

坐标轴是axis.Axis类的对象,轴脊是spines.Spine类的对象,刻度是axis.Ticker类的对象。

xaxis:获取x轴

yaxis:获取y轴

spines:获取包含全部轴脊的字典

向任意位置添加坐标轴:

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

 projection:坐标轴类型

polar:是否使用极坐标

aspect:坐标轴的缩放比例(可接收'auto','equal',num)

frame_on:是否绘制轴脊

定制刻度:

matplotlib.ticker模块中提供了两个类 

locator是刻度定位器的基类,可以自动调节刻度的间隔、选择刻度的位置。

Formatter是刻度格式器的基类,用于调整刻度标签的格式

  tick_params()函数可以定制刻度的样式:

tick_params(axis='both', **kwargs)

axis:选择操作的轴,'x'、'y'或'both'

which:刻度类型,‘major’、'minor'、'both',默认第一个

direction:刻度线方向,in,out,inout

隐藏轴脊:

axis(option, *args, **kwargs)

 option可接收布尔值和字符串,True表示显示,Flase表示隐藏 \ on表示显示,off表隐藏

equal:通过更改轴限设置等比例

scaled:通过更改会话框的尺寸设置等比例

tight:设置足够大的限制以显示所有数据

auto:自动缩放

也可以隐藏部分轴脊,只需要访问spines属性获取响应的轴脊后调用set_color()方法将轴脊的颜色设置为none即可

移动轴脊:

 set_position(self, position)

outward:将轴脊移出数据区域指定点数位置

axes:将轴脊置于坐标系(0.0~1.0)中

data:将轴脊置于指定的数据坐标位置

center:('axes',0.5)

zero:('data',0.0)

例题:绘制《股票一周的收盘价》折线图

某股票一周的收盘价
周日期收盘价
周一44.98

周二

45.02
周三

44.32

周四41.05
周五42.08
周六——
周日——
根据表的数据绘制一个折线图,具体要求如下:
(1) 在距画布顶部0.2、左侧0.2的位置上添加一个宽度为0.5、高度为0.5的绘图区域;
fig = plt.figure()
ax = fig.add_axes((0.2, 0.2, 0.5, 0.5))
(2)x轴的刻度标签为周日期;
ax.set_xlabel('周日期')
(3)刻度线样式调整:方向朝内、宽度为2,长度为8;
ax.tick_params(direction='in', width=2, length=8)
(4) 隐藏坐标轴的上轴脊、右轴脊。.
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')

完整代码如下:

#导入库,设置字体,导入数据
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
x_data = np.arange(1, 8, 1)
y_data = [44.98, 45.02, 44.32, 41.05, 42.08, 42.08, 42.08]
#按要求创建画布
fig = plt.figure()
ax = fig.add_axes((0.2, 0.2, 0.5, 0.5))
#绘制折线图
ax.plot(x_data, y_data, 'mo-', markersize=15)
#设置刻度
ax.set_xticks([1, 2, 3, 4, 5, 6, 7])
ax.set_xticklabels(['周一', '周二', '周三', '周四', '周五', '周六', '周日'])
#按要求调整刻度线
ax.tick_params(direction='in', width=2, length=8)
# 5.设置轴标签
ax.set_xlabel('周日期')
ax.set_ylabel('收盘价(元)')
#按要求藏上轴脊和右轴脊
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
#展示图表
plt.show()

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值