pyplot图像组件

ax子对象的组件内容

  • Title 图表标题
    • plt.title()
  • Axis 坐标范围,x轴,y轴
    • plt.axis()
  • label 坐标轴标注
    • plt.xlabel()
    • plt.ylabel()
  • Tick 刻度线,Tick Label 刻度标注
    • plt.xticks()
    • plt.yticks()

 

各组件关系为:

 

import matplotlib.pyplot as plt
#import matplotlib #载入matplotlib完整库
#matplotlib.rcParams['font.family']='Microsoft Yahei' #字体,改为微软雅黑,默认 sans-serif

plt.plot([0,2,4,6,8],[1,5,3,9,7],label='图例标题1') #X轴坐标值,Y轴坐标值,图例
plt.plot([1,3,5,7,9],[0,4,2,8,6],label='图例标题2')

########################

plt.title('图表标题')

plt.axis([-1,6,-2,2]) #坐标范围,X轴-1到6,Y轴-2到2

plt.xlabel('X轴标注')
plt.ylabel('Y轴标注')

plt.yticks([1,3,6,9,12,15,18,20])#设置坐标步长,设置坐标标注
#plt.yticks([1,5,10,15,20],['张','王','李','赵','刘'])#设置坐标步长,设置坐标标签
plt.xticks(fontsize = 17,rotation=90) #设置坐标字体大小,文本旋转角度

###################################

plt.legend(loc='best', frameon=False)#图例,loc位置,frameon有无边框;(需在画图方法内加label属性)

plt.grid(True) #是否显示网格

plt.savefig('test',dpi=600) #存为png文件

plt.show() #显示图片

 

 


面向对象的组件书写(了解)

import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(121)
ax2 = fig.add_subplot(122)

ax.set_title('图表标题')

ax.axis([-1,6,-2,2]) #坐标范围,X轴-1到6,Y轴-2到2

ax.set_xlabel('X轴标注')
ax.set_ylabel('Y轴标注')

ax.set_xticks([2,4,6,8,10]) #x轴刻度
ax.set_yticks([1,3,6,9,12,15,18,20])#y轴刻度

ax.set_xticklabels(['a','b','c','d','e']) #x轴刻度标注
ax.set_yticklabels(['','','']) #y轴刻度标注

plt.show()

 


用于图形标识和注释的线条和矩形

import matplotlib.pyplot as plt

# 穿越x轴的线,参数(全部可选)
l = plt.axhline(
    y=1, # y轴坐标
    linewidth=4, # 线宽
    xmin=0.5, # 
    xmax=1, # xmin,xmax表示从左开始到右线条的长度比例 0无 1最长 0.5一半
    color='r' # 颜色
)

# 穿越y轴的线,参数同上,ymin,ymax不同
plt.axvline()

# 穿越x轴的矩形,参数:ymin,ymax,xmin=0,xmin=1
p = plt.axhspan(
    0.25,
    0.75,
    facecolor='0.5', # 颜色
    alpha=0.5 # 透明度
)

# 穿越y轴的矩形,xmin,xmax,ymin=0,ymin=1,...
p = plt.axvspan(1.25, 1.55, 0.5, 1, facecolor='g', alpha=0.5)

plt.axis([-1, 2, -1, 2]) # 坐标轴范围

plt.show()