一、使用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()
运行结果: