做实验的时候,需要用图来展示,简单的Excel可以搞定,但感觉颜色很丑,而且看上去不够精致。现在一般画图方式有MATLAB,Python,r语言。
我用Python的matplotlib包来画。
三点图+平均水平线。
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import numpy.random as rnd
plt.figure(figsize=(6, 4))
X=[0.7, 0.71, 0.72, 0.73, 0.74, 0.75, 0.76, 0.77, 0.78, 0.79, 0.8, 0.81, 0.82, 0.83, 0.84, 0.85, 0.86, 0.87, 0.88, 0.89]
Y=[0.6052631578947368, 0.6578947368421053, 0.7631578947368421, 0.8421052631578947, 0.6842105263157895, 0.8157894736842105, 0.8421052631578947, 0.7105263157894737, 0.6578947368421053, 0.7631578947368421, 0.8157894736842105, 0.6052631578947368, 0.7105263157894737, 0.7105263157894737, 0.7631578947368421, 0.7368421052631579, 0.7894736842105263, 0.7368421052631579, 0.7631578947368421, 0.6052631578947368]
plt.xlim(0.69, 0.9,0.05)# set axis limits
plt.ylim(0.5, 1)
plt.plot(X,Y,'o') #用圆点去画
#plt.plot(t,[0.65]*len(t))
plt.plot(np.arange(0.49,1.01,0.01),[np.mean(Y)]*len(np.arange(0.49,1.01,0.01)),'r',label='average relaxed accuracy') #在某个横坐标范围类,画一条横线,红色,且在左上角有图例
plt.xlabel('$\mu$',fontsize=12,labelpad =1) #设置横坐标标签,字体
plt.ylabel('accuracy',fontsize=12,labelpad = 8)
plt.legend(loc='best',fontsize=12)#必须要加这行代码,不然标签图例显示不出来
#在这里设置图例字体大小
print np.mean(Y)
#plt.title('accuracy')
plt.show()