1. 程式人生 > >Python畫散點圖

Python畫散點圖

做實驗的時候,需要用圖來展示,簡單的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()