下面的python代码已经进行了简单的封装,参数为你想要设定的图名字,对应x轴单位和y轴单位,以及横坐标和纵坐标信息就可以把图中数据的统计信息给标记出来,可以试一试,适合批量产生数据
import numpy as np
import matplotlib.pyplot as plt
def picfunction(stringname,unitx,unity,xdata,ydata):
plt.figure(stringname)
ax1=plt.gca()
plt.plot(xdata,ydata)
print(np.argmax(ydata))
plt.scatter(xdata[np.argmax(ydata)],max(ydata),color ='r',marker="o",s=150)
plt.annotate("maxvalue = %f"%(max(ydata)),(np.argmax(ydata),max(ydata)),xytext=(np.argmax(ydata),max(ydata)))
plt.scatter(xdata[np.argmin(ydata)],min(ydata),color ='r',marker="o",s=150)
plt.annotate("minvalue = %f"%(min(ydata)),(np.argmax(ydata),min(ydata)),xytext=(np.argmin(ydata),min(ydata)))
plt.xlabel(unitx)
ax1.spines['top'].set_visible(False)
ax1.spines['right'].set_visible(False)
plt.ylabel(stringname+" ("+unity+")")
plt.title(stringname+"-Plot")
plt.show()
x=[0.5,2,3,4,5.5]
y=[3,7,10,1,12]
picfunction('example','time/s','temprature/deg',x,y)
测试效果:
|