Python基础——matplotlib.pyplot中文手册+实例分析+附代码
Python基础——matplotlib.pyplot中⽂⼿册+实例分析+附代码1、matplotlib导⼊
import matplotlib.pyplot as plt
matplotlib是受MATLAB的启发构建的。MATLAB是数据绘图领域⼴泛使⽤的语⾔和⼯具。
2、参数配置
axex: 设置坐标轴边界和表⾯的颜⾊、坐标刻度值⼤⼩和⽹格的显⽰
figure: 控制dpi、边界颜⾊、图形⼤⼩、和⼦区( subplot)设置
如何修改文章font: 字体集(font family)、字体⼤⼩和样式设置
grid: 设置⽹格颜⾊和线性
legend: 设置图例和其中的⽂本的显⽰
line: 设置线条(颜⾊、线型、宽度等)和标记
patch: 是填充2D空间的图形对象,如多边形和圆。控制线宽、颜⾊和抗锯齿设置等。
savefig: 可以对保存的图形进⾏单独设置。例如,设置渲染的⽂件的背景为⽩⾊。
verbose: 设置matplotlib在执⾏期间信息输出,如silent、helpful、debug和debug-annoying。
xticks和yticks: 为x,y轴的主刻度和次刻度设置颜⾊、⼤⼩、⽅向,以及标签⼤⼩。
3、线条相关设置
标记设置
线条风格linestyle或ls        描述
‘-‘                        实线
‘:’                        虚线
‘–’                        破折线清朝闭关锁国
‘None’,’ ‘,’’              什么都不画
‘-.’                        点划线
线条标记
标记maker            描述
2022跨年文案配图唯美
‘o’                圆圈
‘.’                点
‘D’                菱形
‘s’                正⽅形
‘h’                六边形1
‘*’                星号
‘H’                六边形2
‘d’                ⼩菱形
‘_’                ⽔平线
‘v’                ⼀⾓朝下的三⾓形
‘8’                ⼋边形
‘<’                ⼀⾓朝左的三⾓形
‘p’                五边形
‘>’                ⼀⾓朝右的三⾓形
‘,’                像素
‘^’                ⼀⾓朝上的三⾓形
‘+’                加号
‘\  ‘              竖线
‘None’,’’,’ ‘      ⽆
‘x’                X
黄花梨怎么鉴别颜⾊
基本颜⾊
别名颜⾊
b              蓝⾊
g              绿⾊
r              红⾊
y              黄⾊
c              青⾊
k              ⿊⾊
m              洋红⾊
w              ⽩⾊
其他颜⾊:灰⾊ RGB ⼗六进制
y=np.arange(5)
plt.plot(y,color='r')
plt.plot(y+1,color='0.5')#  灰度
plt.plot(y+2,color='#ff00ff')
plt.plot(y+3,color=(0.1,0.2,0.3))
4、绘图操作步骤
1 创建窗⼝、设置⼦图,每个figure对象是⼀个图
2 绘制图形plot、设置横纵坐标等参数
3 图形展⽰及保存
#使⽤numpy产⽣数据
x=np.arange(-5,5,0.1)
y=x*3
#创建窗⼝、⼦图
#⽅法1:先创建窗⼝,再创建⼦图。(⼀定绘制)
fig = plt.figure(num=1, figsize=(15,8),dpi=80)#开启⼀个窗⼝,同时设置⼤⼩,分辨率
ax1 = fig.add_subplot(2,1,1)#通过fig添加⼦图,参数:⾏数,列数,第⼏个。
ax2 = fig.add_subplot(2,1,2)#通过fig添加⼦图,参数:⾏数,列数,第⼏个。
print(fig,ax1,ax2)
#⽅法2:⼀次性创建窗⼝和多个⼦图。(空⽩不绘制)
fig,axarr = plt.subplots(4,1)#开⼀个新窗⼝,并添加4个⼦图,返回⼦图数组
ax1 = axarr[0]#通过⼦图数组获取⼀个⼦图
print(fig,ax1)
#⽅法3:⼀次性创建窗⼝和⼀个⼦图。(空⽩不绘制)
ax1 = plt.subplot(1,1,1,facecolor='white')#开⼀个新窗⼝,创建1个⼦图。facecolor设置背景颜⾊
print(ax1)
#获取对窗⼝的引⽤,适⽤于上⾯三种⽅法
# fig = f()  #获得当前figure
# fig=ax1.figure  #获得指定⼦图所属窗⼝
# fig.subplots_adjust(left=0)                        #设置窗⼝左内边距为0,即左边留⽩为0。
#设置⼦图的基本元素
ax1.set_title('python-drawing')#设置图体,plt.title
ax1.set_xlabel('x-name')#设置x轴名称,plt.xlabel
ax1.set_ylabel('y-name')#设置y轴名称,plt.ylabel
plt.axis([-6,6,-10,10])#设置横纵坐标轴范围,这个在⼦图中被分解为下⾯两个函数
ax1.set_xlim(-5,5)#设置横轴范围,会覆盖上⾯的横坐标,plt.xlim
ax1.set_ylim(-10,10)#设置纵轴范围,会覆盖上⾯的纵坐标,plt.ylim
xmajorLocator = MultipleLocator(2)#定义横向主刻度标签的刻度差为2的倍数。就是隔⼏个刻度才显⽰⼀个标签⽂本
ymajorLocator = MultipleLocator(3)#定义纵向主刻度标签的刻度差为3的倍数。就是隔⼏个刻度才显⽰⼀个标签⽂本
ax1.xaxis.set_major_locator(xmajorLocator)#x轴应⽤定义的横向主刻度格式。如果不应⽤将采⽤默认刻度格式
ax1.yaxis.set_major_locator(ymajorLocator)#y轴应⽤定义的纵向主刻度格式。如果不应⽤将采⽤默认刻度格式
id(True, which='major')#x坐标轴的⽹格使⽤定义的主刻度格式
id(True, which='major')#x坐标轴的⽹格使⽤定义的主刻度格式
ax1.set_xticks([])#去除坐标轴刻度
ax1.set_xticks((-5,-3,-1,1,3,5))#设置坐标轴刻度
ax1.set_xticklabels(labels=['x1','x2','x3','x4','x5'],rotation=-30,fontsize='small')#设置刻度的显⽰⽂本,rotation旋转⾓度,fontsize字体⼤⼩
plot1=ax1.plot(x,y,marker='o',color='g',label='legend1')#点图:marker图标
plot2=ax1.plot(x,y,linestyle='--',alpha=0.5,color='r',label='legend2')#线图:linestyle线性,alpha透明度,color颜⾊,label图例⽂本
ax1.legend(loc='upper left')#显⽰图例,plt.legend()
<(2.8,7, r'y=3*x')#指定位置显⽰⽂字,()
ax1.annotate('important point', xy=(2,6), xytext=(3,1.5),#添加标注,参数:注释⽂本、指向点、⽂字位置、箭头属性
arrowprops=dict(facecolor='black', shrink=0.05),
)
#显⽰⽹格。which参数的值为major(只绘制⼤刻度)、minor(只绘制⼩刻度)、both,默认值为major。axis为'x','y','both'
axes1 = plt.axes([.2,.3,.1,.1], facecolor='y')#在当前窗⼝添加⼀个⼦图,rect=[左, 下, 宽, ⾼],是使⽤的绝对布局,不和以存在窗⼝挤占空间axes1.plot(x,y)#在⼦图上画图
plt.savefig('aa.jpg',dpi=400,bbox_inches='tight')#savefig保存图⽚,dpi分辨率,bbox_inches⼦图周边⽩⾊空间的⼤⼩
plt.show()#打开窗⼝,对于⽅法1创建在窗⼝⼀定绘制,对于⽅法2⽅法3创建的窗⼝,若坐标系全部空⽩,则不绘制
5、格式
⽹格
图例
图例设置⽅法⼀:画图时设置
plt.plot(x,x,label='name')
ax.plot(x,x,label='b')#在绘图时⽤label参数设置图例名称,⽤该⽅法时必须⽤plt.legend ()和ax.legend()将图例显⽰出⼒
图例设置⽅法⼆:legend()⽅法设置
plt.legend(['a','b'], loc=[0~10], ncol=2)#位置参数 loc ,⽤数字代替位置,0是⾃适应,ncol设置图例的列
数,图例很多时将图例扁平化换坐标轴范围
plt.axis()#显⽰坐标轴范围
plt.axis([-10,10,0,10])#可以直接传⼊列表参数设置坐标轴范围前⾯的x轴的范围,后⾯是y的
plt.ylim()# 显⽰x的范围,传⼊列表参数为设置,plt.ylim([ 0,100]) ,也可以⽤ymin 和ymax 指定单边
plt.xlim([0,10])# 或 plt.xlim(xmin=0,xmax=10) 相同效果
#ax.set_xlim() 和 ax.set_ylim()为对应的⾯向对象的⽅式设置坐标轴范围
坐标轴刻度ARCTAN求导等于什么
a() a()函数⽤来获取当前图形的坐标轴
ax.locator_params(nbins=20) 可以指定轴 plt.locator_params(‘x’ , nbins=5)
副坐标轴
⽅法1:plt⽅式
plt.plot()
plt.twinx() 添加⼀个副坐标轴,默认0到1
plt.plot(x,y) 默认的图形对应副坐标轴
⽅法2:⾯向对象⽅式
x=np.arange(2,20)
y1=x*x
y2=np.log(x)
fig=plt.figure()
ax1=fig.add_subplot(111)
ax1.plot(x,y1)
ax1.set_ylabel('y1')
ax1.set_xlabel('y1 vs  y2')
ax1.set_ylim([0,400])
ax2=ax1.twinx()
ax2.plot(x,y2)
ax2.set_ylabel('y2')
反犬plt.show()

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。