用python畫折線圖
⑴ python怎麼畫折線圖
一、環境准備
linux ubuntu 下需安裝下面三個包:
Numpy, Scipy,Matplotlib
分別輸入下面的代碼進行安裝:
[plain]view plain
pipinstallnumpy
pipinstallscipy
sudoapt-getinstallpython-matplotlib
python
>>>importpylab
importnumpyasnp
importmatplotlib.pyplotasplt
x=[0,1]
y=[0,1]
plt.figure()
plt.plot(x,y)
plt.savefig("easyplot.jpg")
測試是否安裝成功
[html]view plain
如果沒有報錯則安裝成功
二、開始畫圖
1. 畫最簡單的直線圖
代碼如下:
[python]view plain
結果如下:

⑵ 用Python設置matplotlib.plot的坐標軸刻度間隔以及刻度范圍
轉自 跳轉鏈接
一、用默認設置繪制折線圖
import matplotlib.pyplot as plt
x_values=list(range(11))
#x軸的數字是0到10這11個整數
y_values=[x**2 for x in x_values]
#y軸的數字是x軸數字的平方
plt.plot(x_values,y_values,c='green')
#用plot函數繪制折線圖,線條顏色設置為綠色
plt.title('Squares',fontsize=24)
#設置圖表標題和標題字型大小
plt.tick_params(axis='both',which='major',labelsize=14)
#設置刻度的字型大小
plt.xlabel('Numbers',fontsize=14)
#設置x軸標簽及其字型大小
plt.ylabel('Squares',fontsize=14)
#設置y軸標簽及其字型大小
plt.show()
#顯示圖表
製作出圖表
我們希望x軸的刻度是0,1,2,3,4……,y軸的刻度是0,10,20,30……,並且希望兩個坐標軸的范圍都能再大一點,所以我們需要手動設置。
二、手動設置坐標軸刻度間隔以及刻度范圍
import matplotlib.pyplot as plt
from matplotlib.pyplot import MultipleLocator
#從pyplot導入MultipleLocator類,這個類用於設置刻度間隔
x_values=list(range(11))
y_values=[x**2 for x in x_values]
plt.plot(x_values,y_values,c='green')
plt.title('Squares',fontsize=24)
plt.tick_params(axis='both',which='major',labelsize=14)
plt.xlabel('Numbers',fontsize=14)
plt.ylabel('Squares',fontsize=14)
x_major_locator=MultipleLocator(1)
#把x軸的刻度間隔設置為1,並存在變數里
y_major_locator=MultipleLocator(10)
#把y軸的刻度間隔設置為10,並存在變數里
ax=plt.gca()
#ax為兩條坐標軸的實例
ax.xaxis.set_major_locator(x_major_locator)
#把x軸的主刻度設置為1的倍數
ax.yaxis.set_major_locator(y_major_locator)
#把y軸的主刻度設置為10的倍數
plt.xlim(-0.5,11)
#把x軸的刻度范圍設置為-0.5到11,因為0.5不滿一個刻度間隔,所以數字不會顯示出來,但是能看到一點空白
plt.ylim(-5,110)
#把y軸的刻度范圍設置為-5到110,同理,-5不會標出來,但是能看到一點空白
plt.show()
繪制結果
⑶ 如何用python繪制各種圖形
1.環境
系統:windows10
python版本:python3.6.1
使用的庫:matplotlib,numpy
2.numpy庫產生隨機數幾種方法
import numpy as np
numpy.random
rand(d0,d1,...,dn)
In [2]: x=np.random.rand(2,5)
In [3]: x
Out[3]:
array([[ 0.84286554, 0.50007593, 0.66500549, 0.97387807, 0.03993009],
[ 0.46391661, 0.50717355, 0.21527461, 0.92692517, 0.2567891 ]])
randn(d0,d1,...,dn)查詢結果為標准正態分布
In [4]: x=np.random.randn(2,5)
In [5]: x
Out[5]:
array([[-0.77195196, 0.26651203, -0.35045793, -0.0210377 , 0.89749635],
[-0.20229338, 1.44852833, -0.10858996, -1.65034606, -0.39793635]])
randint(low,high,size)
生成low到high之間(半開區間 [low, high)),size個數據
In [6]: x=np.random.randint(1,8,4)
In [7]: x
Out[7]: array([4, 4, 2, 7])
random_integers(low,high,size)
生成low到high之間(閉區間 [low, high)),size個數據
In [10]: x=np.random.random_integers(2,10,5)
In [11]: x
Out[11]: array([7, 4, 5, 4, 2])
3.散點圖
x x軸
y y軸
s 圓點面積
c 顏色
marker 圓點形狀
alpha 圓點透明度#其他圖也類似這種配置
N=50# height=np.random.randint(150,180,20)# weight=np.random.randint(80,150,20)
x=np.random.randn(N)
y=np.random.randn(N)
plt.scatter(x,y,s=50,c='r',marker='o',alpha=0.5)
plt.show()

8.箱型圖
import matplotlib.pyplot as pltimport numpy as npdata=np.random.normal(loc=0,scale=1,size=1000)#sym 點的形狀,whis虛線的長度plt.boxplot(data,sym="o",whis=1.5)plt.show()
#sym 點的形狀,whis虛線的長度
⑷ python畫折線圖
#encoding=utf-8
importmatplotlib.pyplotasplt
frompylabimport*#支持中文
mpl.rcParams['font.sans-serif']=['SimHei']
names=['5','10','15','20','25']
x=range(len(names))
y=[0.855,0.84,0.835,0.815,0.81]
y1=[0.86,0.85,0.853,0.849,0.83]
#plt.plot(x,y,'ro-')
#plt.plot(x,y1,'bo-')
#pl.xlim(-1,11)#限定橫軸的范圍
#pl.ylim(-1,110)#限定縱軸的范圍
plt.plot(x,y,marker='o',mec='r',mfc='w',label=u'y=x^2曲線圖')
plt.plot(x,y1,marker='*',ms=10,label=u'y=x^3曲線圖')
plt.legend()#讓圖例生效
plt.xticks(x,names,rotation=45)
plt.margins(0)
plt.subplots_adjust(bottom=0.15)
plt.xlabel(u"time(s)鄰居")#X軸標簽
plt.ylabel("RMSE")#Y軸標簽
plt.title("Asimpleplot")#標題
plt.show()

