Python-matplotlib學習

Python-matplotlib學習

Python下關於matplotlib的基本使用如下,更多的用法請參考matplotlib的API:http://matplotlib.org/tutorials/index.html#intermediate

import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.ylabel('some numbers')
plt.show()

執行結果如下:
結果
當你看到結果可能筆記好奇,為什麼x軸是[0,3]。因為當plot只有一個list或array引數時,它預設是y軸的引數,所有它將自動產生一個x軸的範圍,但由於python的變數以0作為開始,並且x軸與y軸有相同的長度,所有x的範圍就是[0,3]了。

設定座標軸的範圍

通過plt.axis([xmin, xmax, ymin, ymax])

import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
# plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 5, 0, 20])
plt.show()
plt.ylabel('some numbers')
plt.show()

波形格式化

使用pyplot畫圖時,預設為‘b-’,即曲線的顏色為藍色實線,通過其它方式來控制波形的顏色和形狀。

import matplotlib.pyplot as plt
import numpy as np
# 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 10, 'r-', t, t**2 1, 'bs', t, t**3, 'g^')
plt.show()
plt.show()

圖片

以類別的形式畫圖

import matplotlib.pyplot as plt
names = ['group_a', 'group_b', 'group_c']
values = [1, 10, 100]
plt.figure(1, figsize=(9, 3))
plt.subplot(131)
plt.bar(names, values)
plt.subplot(132)
plt.scatter(names, values)
plt.subplot(133)
plt.plot(names, values)
plt.suptitle('Categorical Plotting')
plt.show()

這裡寫圖片描述

繪製離散資料

繪製離散資料通過plt.scatter函式

import numpy as np
import matplotlib.pyplot as plt
# Fixing random state for reproducibility
np.random.seed(19680801)
N = 10
x = np.random.rand(N)
y = np.random.rand(N)
print(y)
colors = np.random.rand(N)
area = np.pi * (15 * np.random.rand(N))**2  # 0 to 15 point radii
plt.scatter(x, y, s=area, c=colors, alpha=0.5)
plt.show()

這裡寫圖片描述