Axes:坐标系
Axes类方法实现刻度样式的定制: ax.tick_params()
Axis:坐标轴
Xaxis/Yaxis类方法实现单个轴刻度样式的定制:ax.xaxis/yaxis.set_tick_params
定制刻度的样式:
pyplot中可以使用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:表示刻度线与刻度标签的距离。
·labelsize:表示刻度标签的字体大小。
labelcolor:表示刻度标签的颜色。
·bottom, top, left, right:表示是否显示下方、上方、左侧、右侧的刻度线。是则为True,否则为False ·labelbottom, labeltop,labelleft,labelright:表示是否显示下方、上方、左侧、右侧的刻度标签。
·labelrocation:表示刻度标签旋转的角度。#=度数
plt.gca() #get current axes (获取当前坐标系,若画布上没有坐标系,则调用add_subplot可以创建坐标系)
ax = plt.axes() #在画布任意位置创建指定大小的坐标系
题目:
代码如下:
# matplotlib中文网 https://www.matplotlib.org
# 需求一:绘制某股票一周内收盘价折线图(见运行结果展示图)
%matplotlib notebook
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
# 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] # 周末休市
labels=(['周一','周二','周三','周四','周五','周六','周日'])
# 2.创建画布和坐标系
fig = plt.figure()
ax = fig.add_axes((0.2, 0.2, 0.5, 0.5))
plt.tick_params(direction='in', length=8, width=2)
# 3.绘图
ax.plot(x_data,y_data,'-or',ms=8,color='m')
# 4.定制刻度
plt.xlabel('周日期')
plt.ylabel('收盘价(¥)')
ax.xaxis.set_tick_params(labelrotation=30)
# 5.设置轴标签
ax.set_xticks(x_data)
ax.set_xticklabels(labels)
# 6.隐藏上轴脊和右轴脊
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
# 7.展示图表
plt.show()