ML作业3写的一个画图程序,虽然完全没必要写
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1)
T1 = 0.3
T2 = 0.7
T3 = 0.6
T4 = 0.3
def t(x,y):
t = [y for i in x]
return t
def draw(X,x,y,z,w,color1,alpha1,label1):
#X数据集,x数据集下限,y数据集上限,z是y轴上的下限,w是y轴上的上限,color1是颜色,alpha1是透明度,label1是标签
return plt.fill_between(X[np.where((X>x)&(X<y))],z,w,facecolor=color1,label=label1,alpha=alpha1)
plt.title("if t2 > t4")
plt.plot(t(x,T1), x, 'c*-', label='t1')
plt.plot(x,t(x,T2),label='t2')
plt.plot(t(x,T3), x, 'm.-.', label='t3')
plt.plot(x,t(x,T4),label='t4')
draw(x,0,T1,0,T2,'green',0.5,'R1')
draw(x,0,T1,T2,1,'red',0.5,'R2')
draw(x,T1,T3,0,1,'orange',0.5,'R3')
draw(x,T3,1,0,T4,'purple',0.5,'R4')
draw(x,T3,1,T4,1,'blue',0.5,'R5')
#plt.legend()是为了显示标签
plt.legend()
plt.show()
保存图片
plt.savefig("PR.png")
#这一行要在plt.show()之前,要不然会保存空白图片
plt.show()
plt.close()
显示标签
plt.legend()
plt.show()
给x和y轴加标签
plt.xlabel("P")
plt.ylabel("R")
加标题
plt.title("P-R")
x和y轴显示范围
plt.xlim(0,1)
plt.ylim(0,1)
清除
plt.cla()
# 清除axes,即当前 figure 中的活动的axes,但其他axes保持不变。
plt.clf()
# 清除当前 figure 的所有axes,但是不关闭这个 window,所以能继续复用于其他的 plot。
# 如果画很多图,则建议使用这个
plt.close()
# 关闭 window,如果没有指定,则指当前 window。