坐标轴的定制

一、使用axes()函数向任意位置添加坐标轴

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

示例代码:

#导入模块
get_ipython().run_line_magic('matplotlib', 'auto')
import matplotlib.pyplot as plt
import matplotlib.patches as mpathes
import numpy as np
#获取当前画布中的坐标实例
#(如果画布中没有实例存在,就会自动创建一个,利用add_subsplot)

#1.[在画布的任意位置添加指定大小的坐标系]
ax=plt.axes((0.3,0.3, 0.5,0.5)) #画布取值范围0-1

#展示图表
plt.show()

运行结果:

二、在坐标系里绘制多边形

 示例代码:

#导入模块
get_ipython().run_line_magic('matplotlib', 'auto')
import matplotlib.pyplot as plt
import matplotlib.patches as mpathes
import numpy as np
#获取当前画布中的坐标实例
#(如果画布中没有实例存在,就会自动创建一个,利用add_subsplot)

#1.[在画布的任意位置添加指定大小的坐标系]
ax=plt.axes((0.3,0.3, 0.5,0.5)) #画布取值范围0-1
#2.[在坐标系里面添加多边形]
circel= mpathes.Circle((0.5,0.5),0.2,facecolor='r',alpha=0.25)#创建一个圆的实例
#3.[在坐标系里面绘制多边形]
ax.add_patch(circel)
#4.展示图表
plt.show()

运行结果:

 三、使用tick_params()定制x轴的刻度样式

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

示例代码:

#导入模块
get_ipython().run_line_magic('matplotlib', 'auto')
import matplotlib.pyplot as plt
import matplotlib.patches as mpathes
import numpy as np
#获取当前画布中的坐标实例
#(如果画布中没有实例存在,就会自动创建一个,利用add_subsplot)

#1.[在画布的任意位置添加指定大小的坐标系]
ax=plt.axes((0.3,0.3, 0.5,0.5)) #画布取值范围0-1

# 2.[在坐标系里面添加多边形]
circel= mpathes.Circle((0.5,0.5),0.2,facecolor='r',alpha=0.25)#创建一个圆的实例

#3.[在坐标系里面绘制多边形]
ax.add_patch(circel)

#4.[定制x轴的刻度样式]
ax.grid()
ax.tick_params(axis='x',direction='inout',length=15, width=5, pad=40,
              labelrotation=0,bottom=False,top=False,left=True,right=False,
              )
                  #pad=40刻度标签与刻度线的距离,
                  #labelrotation=45刻度标签的角度,
                  #bottom=False,top=False,left=True,right=False控制轴脊线上刻度线是否显示
#5.展示图表
plt.show()

运行结果:

   四、隐藏轴脊

    axis(option,*args,**kwargs)

    4.1隐藏x轴(bottom轴)的轴脊
 

 ax.spines['bottom'].set_color('r')

 4.2 隐藏x轴(bottom轴)的刻度线

ax.xaxis.set_ticks_position('none')

 

4.3 隐藏x轴(bottom轴)刻度标签 

ax.set_xticklabels([])

 

 4.4 隐藏全部轴脊(刻度线及刻度标签)on/off

ax.axis('off')

 

五. 移动轴脊

  set position(self, position)

示例代码:

#导入模块
get_ipython().run_line_magic('matplotlib', 'auto')
import matplotlib.pyplot as plt
import matplotlib.patches as mpathes
import numpy as np
#获取当前画布中的坐标实例
#(如果画布中没有实例存在,就会自动创建一个,利用add_subsplot)

#1.[在画布的任意位置添加指定大小的坐标系]
ax=plt.axes((0.3,0.3, 0.5,0.5)) #画布取值范围0-1

#2.[在坐标系里面添加多边形]
circel= mpathes.Circle((0.5,0.5),0.2,facecolor='r',alpha=0.25)#创建一个圆的实例

#3.[在坐标系里面绘制多边形]
ax.add_patch(circel)

#4.[定制x轴的刻度样式]
ax.grid()
ax.tick_params(axis='x',direction='inout',length=15, width=5, pad=20,
              labelrotation=0,bottom=False,top=False,left=True,right=False,
              )
                  #pad=40刻度标签与刻度线的距离,
                  #labelrotation=45刻度标签的角度,
                  #bottom=False,top=False,left=True,right=False控制轴脊线上刻度线是否显示

#5.[隐藏轴脊]
#指定轴脊控制(隐藏x轴(bottom轴)的轴脊)
ax.spines['bottom'].set_color('r')

#6.[移动轴脊]
ax.spines['bottom'].set_position(('data',0.5))  #坐标系的取值范围0-1 x轴
ax.spines['left'].set_position(('data',0.5))    #y轴

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

 运行结果:

 示例题目:

绘制某股票一周内收盘价折线图(见运行结果展示图)

实现以下展示图:

 代码展示:

%matplotlib notebook
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] # 周末休市
 
# 2.创建画布和坐标系
ax = plt.axes((0.3,0.3, 0.5,0.5))  #在画布的左侧0.3,底部0.3位置上添加一个宽0.5,高0.5的坐标系
            
# 3.绘制折线图
ax.plot(x_data,y_data,'mo-',ms=12) 
 
# 4.定制刻度
ax.xaxis.set_tick_params(direction = 'in',width = 3,length = 8,labelrotation = 45)#刻度线标签向内倾斜角度为45度
ax.yaxis.set_tick_params(direction = 'in',width = 3,length = 8)

#设置x轴的标签
ax.set_xticks([1,2,3,4,5,6,7])   
ax.set_xticklabels(['周一','周二','周三','周四','周五','周六','周日'])

# 5.设置轴标签(刻度标签)
ax.set_xlabel('周日期',labelpad=15,fontsize=15)
ax.set_ylabel('收盘价(¥)',fontdict={'rotation':'horizontal'}, labelpad=32,fontsize=15)
 
# 6.隐藏上轴脊和右轴脊
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')

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

 运行结果:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值