Python繪圖與視覺化
使用的庫
Python有很多視覺化工具,如:Matplotlib。
Matplotlib是一種2D的繪相簿,它可以支援硬拷貝和跨系統的互動,它可以在Python指令碼、IPython的互動環境下、Web應用程式中使用。如果結合使用一種GUI工具包(如IPython),Matplotlib還具有諸如縮放和平移等互動功能。它不僅支援各種作業系統上許多不同的GUI後端,而且還能將圖片匯出為各種常見的向量(vector)和光柵(raster)圖:PDF、SVG、JPG、PNG、BMP、GIF等。
Matplotlib程式包
由於靠這個畫圖的話一般都會遇到比較複雜的資料處理,所以numpy也經常和matplotlib一起出現一起使用。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1,1,50) #產生[-1,1]間均勻間隔的資料50個
y = 2*x + 1
plt.figure()
plt.plot(x,y)
plt.show()
注:1.np.linspace()含義
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
start:返回樣本資料開始點
stop:返回樣本資料結束點
num:生成的樣本資料量,預設為50
endpoint:True則包含stop;False則不包含stop
retstep:If True, return (samples, step), where step is the spacing between samples.(即如果為True則結果會給出資料間隔)
dtype:輸出陣列型別
axis:0(預設)或-1
2.plt.figure()
宣告的其實是一個figure視窗,這個視窗中可以包含很多個圖。
3.plt.plot()
plot(x,y,linestyle=‘dashed’,linewidth=0.5,color=’#3479f7’) ,裡面的引數可以自己設定
圖形展示:
繪圖命令的擴充套件及其屬性設定
x = np.linspace(-10,10,50)
y1 = 2*x + 1
y2 = x**x
plt.figure()
plt.plot(x,y1)
plt.plot(x,y2,linestyle='dashed',linewidth=0.5,color='red',marker='.',)
plt.xlim(1,3)
plt.xlabel('value of X')
plt.xticks(np.linspace(1,3,11))
plt.show()
注:
1.使用plt.xlim/ylim兩個方法可以分別設定x軸和y軸的範圍。用法就是xlim(min,max)。
2.使用plt.xlabel和ylabel可以設定x/y軸的說明文字。
3.使用plt.xticks/yticks兩個方法可以分別設定X和Y軸的座標點的值是多少。除了簡單的數值設定外,xticks/yticks還支援label設定。比如xticks([1,2,3,4],[‘bad’,‘ok’,‘good’,‘verygood’])這樣的方式,來將數值座標值和文字描述的座標值一一對應起來。
補充:
1.plt.gca()
這個方法返回一個包含所有座標軸的物件。gca的全稱估計是get current axes,也就是獲取到當前所有座標軸。
其中比較重要的一條屬性是spines**,這個屬性是一個字典,可以有left,right,top,bottom的取值分別對應一個圖的四條邊。
ax = plt.gca()
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
ax.spines['left'].set_position(('data',0))
ax.spines['bottom'].set_position(('data',0))
2.plt.legend()
圖例出現的位置預設是在左下方,可以在legend方法中用loc引數指明具體的位置。比如**plt.legend(loc=‘upper right’)**是出現在右上角。類似的引數值還有lower right,center left等等。此外還有一個best,這個值是說把位置自動交給電腦去判斷,儘量選擇一個不擋住任何東西的好的位置。
3.plt.scatter()
用來做散點圖,
import matplotlib.pyplot as plt # 換個名字
import numpy as np
n = 1024 # data size
X = np.random.normal(0, 1, n) # 每一個點的X值
Y = np.random.normal(0, 1, n) # 每一個點的Y值
T = np.arctan2(Y,X) # for color value
plt.figure()
ax = plt.gca()
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
plt.scatter(X,Y,c=T,s=20) #c代表設定顏色
plt.xlim(-0.5,0.5)
plt.show()
畫多個子圖
使用subplot()方法
plt.subplot(2,2,1)
含多個座標軸
利用subplots()與twins()方法
import matplotlib.pyplot as plt
import numpy as np
import math
x = np.arange(-2,2,0.1) # np.arange()函式返回一個有終點和起點的固定步長的排列
y1 = list(map(math.exp,x)) #注意遇到map要和list一起使用
y2 = -1*np.array(y1)
fig, left_ax = plt.subplots() # 獲取當前的座標,是第二個返回物件
right_ax = left_ax.twinx() # twinx生成另一個座標物件,複製物件
left_ax.plot(x,y1,color='blue')
left_ax.set_ylabel('value of Y1',color='blue')
right_ax.plot(x,y2,color='green')
right_ax.set_ylabel('value of Y2',color='green')
plt.show()
相關文章
- [資料分析與視覺化] Python繪製資料地圖2-GeoPandas地圖視覺化視覺化Python地圖
- 【 視覺化】熱力圖繪製原理視覺化
- 分形、分形幾何、資料視覺化、Python繪圖視覺化Python繪圖
- Python視覺化-散點圖與彩色散點圖Python視覺化
- 繪圖和視覺化知識圖譜-《利用Python進行資料分析》繪圖視覺化Python
- Python繪製六種視覺化圖表詳解(建議收藏)Python視覺化
- Python視覺化-氣泡圖Python視覺化
- Python視覺化-折線圖Python視覺化
- Python視覺化-地圖染色Python視覺化地圖
- Python資料視覺化:5段程式碼搞定散點圖繪製與使用,值得收藏Python視覺化
- R語言之視覺化①②熱圖繪製2R語言視覺化
- python資料分析與視覺化【思維導圖】Python視覺化
- Python繪製六種視覺化圖表詳解,三維圖最炫酷!你覺得呢?Python視覺化
- Python視覺化(1):折線圖Python視覺化
- Python視覺化圖系列(1)-----jupyter notebookPython視覺化
- [Python視覺化] pyecharts安裝入門及繪製中國貴州地圖Python視覺化Echarts地圖
- 風場視覺化:繪製粒子視覺化
- python資料分析與視覺化基礎Python視覺化
- 風場視覺化:繪製軌跡視覺化
- Python資料視覺化之Pygal圖表型別Python視覺化型別
- 小區確診病例實時地圖,怎麼繪製疫情視覺化地圖?地圖視覺化
- Python手繪視覺化工具cutecharts使用例項Python視覺化Echarts
- python對資料集進行清洗與視覺化Python視覺化
- 【實戰】通過Python實現疫情地圖視覺化Python地圖視覺化
- python資料視覺化——echartsPython視覺化Echarts
- python 資料視覺化利器Python視覺化
- Python視覺化神器Yellowbrick使用Python視覺化
- 從零開始學Python視覺化(五): 餅圖及環形圖Python視覺化
- python資料視覺化-matplotlib入門(5)-餅圖和堆疊圖Python視覺化
- 資料視覺化如何選擇合適的視覺化圖表?視覺化
- 視覺化圖形制作之關係圖視覺化
- vue地圖視覺化 Cesium篇Vue地圖視覺化
- 圖形演算法視覺化演算法視覺化
- python繪圖Python繪圖
- Python 繪圖Python繪圖
- python資料視覺化-matplotlib入門(4)-條形圖和直方圖Python視覺化直方圖
- Python資料視覺化matplotlib庫Python視覺化
- 增補部落格 第九篇 python 圖書評論資料分析與視覺化Python視覺化