python 視覺化工具matplotlib應用

2021-09-01 11:19:20 字數 4898 閱讀 6160

匯入模組

import matplotlib.pyplot as plt

import numpy as np

定義x,y

x = np.linspace(-1, 1, 50)    #使用np.linspace定義x:範圍是(-1,1);個數是50.

y = 2*x + 1

出圖

plt.figure()    #定義乙個影象視窗

plt.plot(x, y) #畫出(x,y)

plt.show() #顯示

x = np.linspace(-3, 3, 50)

y1 = 2*x + 1

y2 = x**2

plt.figure(num=3, figsize=(8, 5)) #使用plt.figure定義乙個影象視窗:編號為3;大小為(8, 5).

plt.plot(x, y2) #畫出y2

plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--') #畫出y1 曲線的顏色屬性(color)為紅色;曲線的寬度(linewidth)為1.0;曲線的型別(linestyle)為虛線.

plt.show()

設定名字和範圍

x = np.linspace(-3, 3, 50)

y1 = 2*x + 1

y2 = x**2

plt.figure()

plt.plot(x, y2)

plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')

plt.xlim((-1, 2)) #設定x座標軸範圍:(-1, 2);

plt.ylim((-2, 3)) #使用plt.ylim設定y座標軸範圍:(-2, 3);

plt.xlabel('i am x') #使用plt.xlabel設定x座標軸名稱:』i am x』

plt.ylabel('i am y') # 使用plt.ylabel設定y座標軸名稱:』i am y』;

plt.show()

調整刻度名稱和範圍

new_ticks = np.linspace(-1, 2, 5)

print(new_ticks)

plt.xticks(new_ticks) #plt.xticks設定x軸刻度:範圍是(-1,2);個數是5.

plt.yticks([-2, -1.8, -1, 1.22, 3],[r'$really\ bad$', r'$bad$', r'$normal$', r'$good$', r'$really\ good$'])

#使用plt.yticks設定y軸刻度以及名稱:刻度為[-2, -1.8, -1, 1.22, 3];對應刻度的名稱為[『really bad』,』bad』,』normal』,』good』, 『really good』]. 使用plt.show顯示影象.

plt.show()

調整座標軸

ax = plt.gca()                            #使用plt.gca獲取當前座標軸資訊. 

ax.spines['right'].set_color('none') #使用.spines設定邊框:右側邊框;使用.set_color設定邊框顏色:預設白色;

ax.spines['top'].set_color('none')

#plt.show()

ax.xaxis.set_ticks_position('bottom') #使用.xaxis.set_ticks_position設定x座標刻度數字或名稱的位置:bottom.(所有位置:top,bottom,both,default,none)

ax.spines['bottom'].set_position(('data', 0))#使用.spines設定邊框:x軸;使用.set_position設定邊框位置:y=0的位置;

#plt.show()

ax.yaxis.set_ticks_position('left')

ax.spines['left'].set_position(('data',0))

plt.show()

#設定兩條線的型別等資訊(藍色實線與紅色虛線).

l1, = plt.plot(x, y1, label='linear line')

l2, = plt.plot(x, y2, color='red', linewidth=1.0, linestyle='--', label='square line')

plt.legend(loc='upper right') #引數 loc='upper right' 表示圖例將新增在圖中的右上角.

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.scatter(x, y, s=75, c=t, alpha=.5)

plt.xlim(-1.5, 1.5)

plt.xticks(()) # ignore xticks

plt.ylim(-1.5, 1.5)

plt.yticks(()) # ignore yticks

plt.show()

import matplotlib.pyplot as plt

import numpy as np

n = 12

x = np.arange(n) #x為 0 到 11 的整數

y1 = (1 - x / float(n)) * np.random.uniform(0.5, 1.0, n) #向上向下分別生成12個資料

y2 = (1 - x / float(n)) * np.random.uniform(0.5, 1.0, n)

plt.bar(x, +y1, facecolor='#9999ff', edgecolor='white') #用facecolor設定主體顏色,edgecolor設定邊框顏色為白色,

plt.bar(x, -y2, facecolor='#ff9999', edgecolor='white')

#接下來我們用函式plt.text分別在柱體上方(下方)加上數值,用%.2f保留兩位小數,橫向居中對齊ha='center',縱向底部(頂部)對齊va='bottom':

for x, y in zip(x, y1):

# ha: horizontal alignment

# va: vertical alignment

plt.text(x + 0.4, y + 0.05, '%.2f' % y, ha='center', va='bottom')

for x, y in zip(x, y2):

# ha: horizontal alignment

# va: vertical alignment

plt.text(x + 0.4, -y - 0.05, '%.2f' % y, ha='center', va='top')

plt.xlim(-.5, n)

plt.xticks(())

plt.ylim(-1.25, 1.25)

plt.yticks(())

plt.show()

import matplotlib.pyplot as plt

import numpy as np

a = np.array([0.313660827978, 0.365348418405, 0.423733120134,

0.365348418405, 0.439599930621, 0.525083754405,

0.423733120134, 0.525083754405, 0.651536351379]).reshape(3,3)

plt.imshow(a, interpolation='nearest', cmap='bone', origin='lower')

plt.colorbar(shrink=.92) #其中我們新增乙個shrink引數,使colorbar的長度變短為原來的92%:

plt.xticks(())

plt.yticks(())

plt.show()

Git History視覺化工具

今天給大家推薦乙個開源的git提交記錄視覺化檢視工具,操作簡單,還有本地cli可以使用,最重要的是效果炫酷,非常方便!1 在github上的檔案,只需要把檔案路徑中的github.com替換為github.githistory.xyz即可,一步到位 第一種方式雖然簡單,但有些同學可能不服,因為公司專...

Redis 視覺化工具

redis做為現在web應用開發的 搭擔組合,大量的被應用,廣泛用於儲存session資訊,許可權資訊,交易作業等熱資料。redis作為業界最好的快取資料庫,過去幾年發展很快。相對memcached,redis提供了更多種資料型別,包含hash set list等 redis還支援subscribe...

視覺化工具分類

視覺化工具按照可擴充套件性從弱到強依次為 互動式,配置式,程式設計式。互動式 易用性強 配置式 易用性較強 程式設計式 易用性較弱 一般為程式設計人員 1 軟體類。這類資料視覺化工具的使用難度為中等,面向的物件比較廣泛,只要大家有著方面的需求,都是可以使用這款工具的,其中有三種比較重要的工具,其中最...