python plot方法的使用_【python】matplotlib.pyplot入门
matplotlib.pyplot介紹
matplotlib的pyplot子庫提供了和matlab類似的繪圖API,方便用戶快速繪制2D圖表。
matplotlib.pyplot是命令行式函數的集合,每一個函數都對圖像作了修改,比如創建圖形,在圖像上創建畫圖區域,在畫圖區域上畫線,在線上標注等。
下面簡單介紹一下pyplot的基本使用:
(1)使用plot()函數畫圖
plot()為畫線函數,下面的小例子給ploy()一個列表數據[1,2,3,4],matplotlib假設它是y軸的數值序列,然后會自動產生x軸的值,因為python是從0作為起始的,所以這里x軸的序列對應為[0,1,2,3]。
import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.ylabel('some numbers') #為y軸加注釋
plt.show()
plot()還可以接受x,y成對的參數,還有一個可選的參數是表示線的標記和顏色,plot函數默認畫線是藍色實線,即字符串'b-',你可以選擇自己喜歡的標記和顏色。
import matplotlib.pyplot as plt
plt.plot([1,2,3,4], [1,4,9,16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
axis()函數給出了形如[xmin,xmax,ymin,ymax]的列表,指定了坐標軸的范圍。
這對于數值的處理來說非常有用,比如給出一個numpy數組(arrays),下面小例子給出了不同的線。
import numpy as np
import matplotlib.pyplot as plt
# evenly sampled time at 200ms intervals
t = np.arange(0., 5., 0.2)
# red dashes, blue squares and green triangles
plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
plt.show()
(2)線的屬性
可以用不同方式對線的屬性進行設置:
用參數的關鍵字
plt.plot(x, y, linewidth=2.0)
通過這種方式修改線寬
使用Line2D實例的set方法
plot函數返回一個線的列表,比如line1,line2 = plot(x1,y1,x2,y2)。
由于我們只有一條直線,對于長度為1的列表(list),我們可以用逗號,來得到列表第一個元素
line, = plt.plot(x,y,'-')
line.set_antialiased(False) #關閉抗鋸齒像素
使用pyplot的setp()命令
還可以用setp()命令來進行設置,該命令可以對一個列表或者單個對象進行設置,并且提供了matlab式的使用方法
lines = plt.plot(x1, y1, x2, y2)
# use keyword args
plt.setp(lines, color='r', linewidth=2.0)
# or MATLAB style string value pairs
plt.setp(lines, 'color', 'r', 'linewidth', 2.0)
Line2D的屬性
(3)多個圖像
pyplot和MATLAB一樣,都有當前圖像和當前坐標的概念,所有命令都是對當前的坐標進行設置。
gca()返回當前的坐標實例(a matplotlib.axes.Axes instance),gcf()返回當前圖像(matplotlib.figure.Figure instance)。
下面的小例子是產生兩個子圖像。
import numpy as np
import matplotlib.pyplot as plt
def f(t):
return np.exp(-t) * np.cos(2*np.pi*t)
t1 = np.arange(0.0, 5.0, 0.1)
t2 = np.arange(0.0, 5.0, 0.02)
plt.figure(1)
plt.subplot(211)
plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k')
plt.subplot(212)
plt.plot(t2, np.cos(2*np.pi*t2), 'r--')
plt.show()
figure()命令時可選的,因為figure(1)是默認創建的。
subplot()命令會指定一個坐標系,默認是subplot(111),111參數分別說明行的數目numrows,列的數目numcols,第幾個圖像fignum(fignum的范圍從1到numrows*numcols)。
subplot(211)指定顯示兩行,每行一圖,接下來為第一幅圖像。
可以用clf()來清空當前圖像,用cla()來清空當前坐標。
(4)為圖像做文本說明
text()命令可以用于在任意位置添加文本,而xlabel(),ylabel(),title()用來在指定位置添加文本。
所有的text()命令返回一個matplotlib.text.Text實例,也可以通過關鍵字或者setp()函數對文本的屬性進行設置。
import numpy as np
import matplotlib.pyplot as plt
mu, sigma = 100, 15
x = mu + sigma * np.random.randn(10000)
# the histogram of the data
n, bins, patches = plt.hist(x, 50, normed=1, facecolor='g', alpha=0.75)
plt.xlabel('Smarts')
plt.ylabel('Probability')
plt.title('Histogram of IQ')
plt.text(60, .025, r'$\mu=100,\ \sigma=15$')
plt.axis([40, 160, 0, 0.03])
plt.grid(True)
plt.show()
總結
以上是生活随笔為你收集整理的python plot方法的使用_【python】matplotlib.pyplot入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用promise解决回调地狱_使用Pr
- 下一篇: hdfs合并块_hdfs 小文件合并 问