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

1.向任意位置添加坐标轴

axes(arg=None,projection=None,polar=False, aspect,frame on,**kwargs)
  • 4-tuple:由4个浮点型元素(取值范围为0~1)组成的元组(left,bottom,width,height),left,bottom分别表示坐标轴左侧和底部的边缘到画布的相对距离,用于确定坐标轴的位置width,height分别表示坐标轴的宽度和高度,用于确定坐标轴的相对大小

 2.定制刻度的样式

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 :表示是否显示下方、上方、左侧、右侧的刻度线
  • labelbottom,labeltop, labelleft, labelright:表示是否显示下方、上方、左侧、右侧的刻度标签。
  • labelrotation:表示刻度标签旋转的角度

 3.隐藏轴脊

3.1 隐藏全部轴脊
axis(option,*args,**kwargs)
  • 'on':显示轴脊和刻度,等同于 True。
  • 'off' :隐藏轴脊和刻度,等同于 False。
  • 'equal' : 通过更改轴限设置等比例。
  • 'scaled':通过更改绘图框的尺寸设置等比例
  • 'tight' : 设置足够大的限制以显示所有的数据
  • 'auto':自动缩放。 
3.2 patches模块(绘制多边形) 
matplotlib 中常见的形状类
说明
Arrow箭头
Circle圆形
RegularPolygon正多边形
Rectangle矩形
Ellipse椭圆形

以创建正多边形为例,RegularPolygon 类的构造方法的语法格式如下所示 : 

RegularPolygon(xy,numVertices,radius=5,orientation=0,**kwargs)
  •  xy : 表示中心点的元组 (x,y)。
  • numVertices:表示多边形顶点的数量。
  • radius :表示从中心点到每个顶点的距离。
  • orientation :表示多边形旋转的角度(以狐度为单位)
3.3 隐藏部分轴脊

依次隐藏上轴脊、左轴脊和右轴脊 ,调用set_color()方法将轴脊的颜色设为'none'。 只隐藏了坐标轴的部分轴脊而没有隐藏轴脊上的刻度。

ax.spines['top'].set_color('none')
ax.spines['left'].set_color('none')
ax.spines['right'].set_color('none')

隐藏刻度线和刻度标签。

#隐藏刻度线方法一
ax.yaxis.set_ticks_position('none')
#方法二
ax.yaxis.set_tick_prams(bottom=Fales)
#方法三
ax.set_yticks([])
#通过 set_yticklabels0方法设置刻度标签为空列表
ax.set_yticklabels([])

4. 移动坐标轴的位置

  • ourward' : 表示将轴脊置于移出数据区域指定点数的位置
  • 'axes':表示将轴脊置于指定的坐标系中(0.0~1.0).
  • 'data' : 表示将轴脊置于指定的数据坐标的位置。
    此外,position 参数还支持以下两个特殊的轴脊位置
  • 'center': 值为('axes',0.5)。
  • 'zero':值为(data',0.0)。 

例如,将画布中轴脊的位置移动到中心位置,具体代码如下。 

ax.spines['left'],set position(('data',0.5))
ax.spines['bottom'].set position(('data',0.5))

5. 绘制某股票一周内收盘价折线图实例

运行代码如下: 

%matplotlib notebook
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpathes
# 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] # 周末休市

# 2.创建画布和坐标系
fig = plt.figure()
ax = fig.add_axes((0.2,0.2,0.5,0.5))

# 3.绘图
ax.plot(x_data,y_data,'mo-')

# 4.定制刻度 
plt.tick_params(direction='in',length=8,width=2,labelrotation=45)
ax.set_xticks([1,2,3,4,5,6,7])
ax.set_xticklabels(['周一','周二','周三','周四','周五','周六','周日'])

# 5.设置轴标签
ax.set_xlabel('周日期')
ax.set_ylabel('收盘价(¥)')



# 6.隐藏上轴脊和右轴脊
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')

# 7.展示图表
plt.show()

运行代码结果如下: 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值