Python視覺化中的Matplotlib(6.散點圖以及詳細引數、為圖形新增文字、註釋、箭頭以及它們的引數)
阿新 • • 發佈:2018-11-12
1. 散點圖
散點圖需要兩個引數x,y , 但此時,x不是表示x軸的刻度,而是每個點的橫軸座標!
散點圖 scatter() 引數說明:
(1) color = 'r': 設定顏色
(2) s = 50; 設定點的大小 (值越大,點就越大)
(3) marker : 設定點的樣式 ,如果沒有設定的話,預設就是個點
(marke的引數在 https://blog.csdn.net/wei18791957243/article/details/83831266 裡面有詳細說明),
import matplotlib.pyplot as plt # 匯入繪圖模組 import numpy as np # 匯入需要生成資料的numpy模組 x = np.random.randn(100) y = np.random.randn(100) '''設定每一個點的顏色隨機生成''' color = np.random.random(300).reshape((100,3)) # 一千行三列 '''設定每一個點的大小隨機生成''' size = np.random.randint(0,100,100) plt.scatter(x,y,color = color,s=size,marker='*') plt.show()
2. 圖形內的文字、註釋、箭頭
(1) 圖形內的新增文字 plt.text() plt.figtext()
''' 第一種方式 text() text(x,y,s,fontdict=None, withdash=False) 引數說明:(1)x,y 座標位置 (2) 顯示的文字 ''' x = np.arange(0,2*np.pi,0.01) plt.plot(np.sin(x)) '''x,y 代表著座標系中數值''' plt.text(20,0,'sin(0) = 0') ''' 第二種方式 figtext() 使用figtext時候,x,y代表相對值,圖片的寬度 ''' x2 = np.arange(0,2*np.pi,0.01) plt.plot(np.cos(x2)) '''''' plt.figtext(0.5,0.5,'cos(0)=0') plt.show()
(2) 添加註釋和箭頭 plt.annotate()
'''
添加註釋 annotate()
引數 :(1)x : 註釋文字
(2)xy:
(3) xytext:
(4) 設定箭頭,arrowprops
arrowprops : 是一個dict (字典)
第一種方式:{'width':寬度,'headwidth':箭頭寬,'headlength':箭頭長,
'shrink':兩端收縮總長度分數}
例如:arrowprops={'width':5,'headwidth':10,'headlength':10,'shrink':0.1}
第二種方式:'arrowstyle':樣式
例如:
有關arrowstyle的樣式:'-' 、'->'、'<-'、'-['、'|-|'、'-|>'、'<|-'、'<->'
'fancy','simple','wedge'
'''
x = np.random.randint(0,30,size=10)
x[5] = 30 # 把索引為5的位置改為30
plt.figure(figsize=(12,6))
plt.plot(x)
plt.ylim([-2,35]) # 設定y軸的刻度
plt.annotate(s='this point is important',xy=(5,30),xytext=(7,31),
arrowprops={'arrowstyle':'->'})
plt.show()