最近在学习python制图,准备做个模板好出图
这个学习系列都参考了B站UP主的视频《【莫烦Python】Matplotlib Python 画图教程》,我是将他的代码重新输入下来后加入了自己的注释和理解,感恩
figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
num: 图像编号或名称,数字为编号 ,字符串为名称
figsize: 指定figure的宽和高,单位为英寸;
dpi 参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80 1英寸等于2.5cm,A4纸是 21*30cm的纸张
facecolor: 背景颜色
edgecolor: 边框颜色
frameon: 是否显示边框
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)
y=2*x+1
plt.plot(x,y)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-3,3,50) #生成(-3,3)的50个点
y1=2*x+1
y2=x**2
plt.figure() #创建图像
plt.plot(x,y1) #绘制图像
plt.figure(num=3,figsize=(8,5)) #创建图像
plt.plot(x,y2)
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--') #绘制第2条线
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-3,3,50) #生成(-3,3)的50个点
y1=2*x+1
y2=x**2
plt.figure() #创建图像
plt.plot(x,y1) #绘制图像
plt.figure(num=3,figsize=(8,5)) #创建图像
plt.plot(x,y2)
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--') #绘制第2条线
plt.xlim((-1,2)) #X轴的数值范围
plt.ylim((-2,3)) #Y轴的数值范围
plt.xlabel('This is x') #x轴的标题
plt.ylabel('This is y') #y轴的标题
#设置小标签
new_ticks=np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks) #将x轴的小标签设置为刚定义的数字
plt.yticks([-2,-2.5,-3],
['good','normal','bad']) #设置y轴上的小标签,文字对应相应的数字
plt.show()
也可以尝试修改字体
plt.yticks([-2,-2.5,-3],
[r'$good\ job$',r'$normal\ job$',r'$bad\ job$']) #设置y轴上的小标签,文字对应相应的数字,r$$用来设置字体,\能使计算机读到空格
gca: get current axis
ax : 画框的轴
确定x轴:xaixs
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-3,3,50) #生成(-3,3)的50个点
y1=2*x+1
y2=x**2
plt.figure() #创建图像
plt.plot(x,y1) #绘制图像
plt.figure(num=3,figsize=(8,5)) #创建图像
plt.plot(x,y2)
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--') #绘制第2条线
plt.xlim((-1,2)) #X轴的数值范围
plt.ylim((-2,3)) #Y轴的数值范围
plt.xlabel('This is x') #x轴的标题
plt.ylabel('This is y') #y轴的标题
#设置小标签
new_ticks=np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks) #将x轴的小标签设置为刚定义的数字
plt.yticks([-2,-2.5,-3],
[r'$good\ \alpha$',r'$normal\ job$',r'$bad\ job$']) #设置y轴上的小标签,文字对应相应的数字,r$$用来设置字体,\能使计算机读到空格
ax=plt.gca()
ax.spines['right'].set_color('none') #将右边和上边的轴的颜色设置为无色
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom') #将bottom设为x轴
ax.yaxis.set_ticks_position('left') #将bottom设为x轴
ax.spines['bottom'].set_position(('data',0)) #x轴的原点取在数值为0上
ax.spines['left'].set_position(('data',0)) #y轴的原点取在数值为0上
plt.show()
显示图例:
lebal:每条线想要显示什么字
loc:自动寻找放置图例的最佳位置
plt.legend(labels=['aaa','bbb'],loc='best') #显示图例
总体的代码
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-3,3,50) #生成(-3,3)的50个点
y1=2*x+1
y2=x**2
plt.figure(num=3,figsize=(8,5)) #创建图像
plt.plot(x,y2,label='up') #绘制图像并设置线条名称up
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--',label='down') #绘制第2条线并设置线条名称down
plt.xlim((-1,2)) #X轴的数值范围
plt.ylim((-2,3)) #Y轴的数值范围
plt.xlabel('This is x') #x轴的标题
plt.ylabel('This is y') #y轴的标题
#设置小标签
new_ticks=np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks) #将x轴的小标签设置为刚定义的数字
plt.yticks([-2,-2.5,-3],
[r'$good\ \alpha$',r'$normal\ job$',r'$bad\ job$']) #设置y轴上的小标签,文字对应相应的数字,r$$用来设置字体,\能使计算机读到空格
plt.legend(labels=['aaa','bbb'],loc='best') #显示图例
ax=plt.gca()
ax.spines['right'].set_color('none') #将右边和上边的轴的颜色设置为无色
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom') #将bottom设为x轴
ax.yaxis.set_ticks_position('left') #将bottom设为x轴
ax.spines['bottom'].set_position(('data',0)) #x轴的原点取在数值为0上
ax.spines['left'].set_position(('data',0)) #y轴的原点取在数值为0上
plt.show()