python數據可視化plt庫實例詳解

先看下jupyter和pycharm環境的差別
左邊是jupyter———————————————————-右邊是pycharm

在這裡插入圖片描述

以下都是使用pycharm環境

1.一個窗口畫出一個線性方程

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1,11)# 從0到1,個數為11的等差數列
print(x)
y = 2*x
plt.plot(x,y)
plt.show()

在這裡插入圖片描述

2.兩個窗口分別畫出一個線性方程

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1,11)# 從0到1,個數為11的等差數列
y1 = 2*x
y2 = 3*x
# 一個figure就是一個窗口
plt.figure()
plt.plot(x,y1)
# 一個figure就是一個窗口
plt.figure()
plt.plot(x,y2)
# 顯示
plt.show()

在這裡插入圖片描述

3.一個窗口畫出兩個線性方程

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1,11)# 從0到1,個數為11的等差數列
y1 = 2*x
y2 = 3*x
# 一個figure就是一個窗口
plt.figure()
plt.plot(x,y1)
plt.plot(x,y2)
# 顯示
plt.show()

在這裡插入圖片描述

4.定義畫圖的樣式

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1,11)# 從0到1,個數為11的等差數列
y = 2*x
# 一個figure就是一個窗口
plt.figure(num=1)
plt.plot(x,y)
plt.figure(num=2)
# color是線條的顏色
plt.plot(x,y,color='red')
plt.figure(num=3)
# linestyle 是線條的樣式
plt.plot(x,y,linestyle='--')
plt.figure(num=4)
# linewidth 是線條的寬度
plt.plot(x,y,linewidth=3)
# 顯示
plt.show()

在這裡插入圖片描述

5.設置xy軸的范圍,標簽,刻度

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1,11)# 從0到1,個數為11的等差數列
y = 2*x
plt.figure(num=1)# 這裡是figure1
plt.plot(x,y)
plt.figure(num=2)# 這裡是figure2
plt.plot(x,y)
plt.xlim(0,3)# 設置x軸范圍
plt.ylim(0,3)# 設置y軸范圍
plt.xlabel('this is x')# 設置x軸標簽
plt.ylabel('this is y')# 設置y軸標簽
plt.figure(num=3)# 這裡是figure3
plt.plot(x,y)
# 設置x軸刻度
x_ticks = np.linspace(1,3,3)
plt.xticks(x_ticks)
plt.figure(num=4)# 這裡是figure4
plt.plot(x,y)
plt.ylim(0,3)# 設置y軸范圍
plt.yticks([1,2],['bad','good'])# 設置y軸刻度
# 顯示
plt.show()

在這裡插入圖片描述

6.設置圖例

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1,11)# 從0到1,個數為11的等差數列
y1 = 2*x
y2 = 3*x
plt.figure()
plt.plot(x,y1,label='y1')
plt.plot(x,y2,label='y2')
plt.legend()
# 顯示
plt.show()

在這裡插入圖片描述

7.散點圖

import numpy as np
import matplotlib.pyplot as plt

x = np.random.randint(0,50,1024)
y = np.random.randint(0,50,1024)

plt.scatter(x,y,s=20)
# 隱藏 x 軸刻度
plt.xticks(())
# 顯示
plt.show()

在這裡插入圖片描述

8.柱狀圖

import numpy as np
import matplotlib.pyplot as plt

n = 6
x = np.arange(n)
print(x)
# 生成6個數,這6個數在0到1正態分佈
y = np.random.uniform(0,1,n)
print(y)
plt.bar(x,y)

# 顯示
plt.show()

在這裡插入圖片描述

9.柱狀圖顯示高度

import numpy as np
import matplotlib.pyplot as plt
n = 6
X = np.arange(n)
Y = np.random.uniform(0,1,n)

plt.figure(num=1)
plt.bar(X,Y)
for x,y in zip(X,Y):
    plt.text(x,y,y)

plt.figure(num=2)
plt.bar(X,Y)
for x,y in zip(X,Y):
    plt.text(x,y,"%.2f"%y)

plt.figure(num=3)
plt.bar(X,Y)
for x,y in zip(X,Y):
    plt.text(x,y,"%.2f"%y,ha='center')

plt.figure(num=4)
plt.bar(X,Y)
for x,y in zip(X,Y):
    plt.text(x,y+0.01,"%.2f"%y,ha='center')
# 顯示
plt.show()

在這裡插入圖片描述

10.等高線圖

import numpy as np
import matplotlib.pyplot as plt

def f(X,Y):
    return X+Y

n = 256
x = np.linspace(0,3,n)
y = np.linspace(0,3,n)
X,Y=np.meshgrid(x,y)
plt.figure()
plt.contourf(X,Y,f(X,Y),4,cmap=plt.cm.hot)

plt.figure()
plt.contourf(X,Y,f(X,Y),9,cmap=plt.cm.hot)

plt.figure()
plt.contourf(X,Y,f(X,Y),9,cmap=plt.cm.hot)
plt.contour(X,Y,f(X,Y),9)

plt.figure()
plt.contourf(X,Y,f(X,Y),9,cmap=plt.cm.hot)
C = plt.contour(X,Y,f(X,Y),9)
plt.clabel(C,inline=True)
# 顯示
plt.show()

在這裡插入圖片描述

11.一個窗口多個子圖

import matplotlib.pyplot as plt

plt.figure()
# 兩行兩列的第一個位置,不加逗號也可以
plt.subplot(2,2,1)
plt.plot([0,1],[0,1])
# 兩行兩列的第二個位置,不加逗號也可以
plt.subplot(2,2,2)
plt.plot([0,2],[0,2])
# 兩行兩列的第三個位置,不加逗號也可以
plt.subplot(223)
plt.plot([0,3],[0,3])
# 兩行兩列的第四個位置,不加逗號也可以
plt.subplot(224)
plt.plot([0,4],[0,4])

plt.figure()
# 兩行兩列的第一個位置,不加逗號也可以
plt.subplot(2,1,1)
plt.plot([0,1],[0,1])
# 兩行兩列的第二個位置,不加逗號也可以
plt.subplot(2,3,4)
plt.plot([0,2],[0,2])
# 兩行兩列的第三個位置,不加逗號也可以
plt.subplot(235)
plt.plot([0,3],[0,3])
# 兩行兩列的第四個位置,不加逗號也可以
plt.subplot(236)
plt.plot([0,4],[0,4])
# 顯示
plt.show()

在這裡插入圖片描述

12.常用子圖顯示

plt.figure(figsize=(20,10))
for i in range(40):
    plt.subplot(4,10,i+1)
    plt.xticks()
    plt.yticks()
    plt.grid(False)
    plt.imshow(train_images[i],cmap=plt.cm.binary_r)
    plt.title(train_labels[i])
plt.show()

在這裡插入圖片描述

13.格子佈局放置子圖

import matplotlib.pyplot as plt

plt.figure()

# 三行三列的佈局,從0行0列開始,占一行三列
ax1 = plt.subplot2grid((3,3),(0,0),colspan=3,rowspan=1)
ax1.plot([0,1],[0,1])
ax1.set_title('this is ax1')
# 三行三列的佈局,從1行0列開始,占一行兩列
ax2 = plt.subplot2grid((3,3),(1,0),colspan=2,rowspan=1)
# 三行三列的佈局,從1行2列開始,占兩行一列
ax3 = plt.subplot2grid((3,3),(1,2),colspan=1,rowspan=2)
# 三行三列的佈局,從2行0列開始,占一行一列
ax4 = plt.subplot2grid((3,3),(2,0),colspan=1,rowspan=1)
# 三行三列的佈局,從2行1列開始,占一行一列
ax5 = plt.subplot2grid((3,3),(2,1),colspan=1,rowspan=1)
# 顯示
plt.show()

在這裡插入圖片描述

以上就是python可視化數據plt庫實例的詳細內容,更多關於python可視化數據plt庫的資料請關註WalkonNet其它相關文章!

推薦閱讀: