機器學習-數據可視化神器matplotlib學習之路(一)

直接上代碼吧,說明寫在備註就行了,此次主要學習一下基本的畫圖方法和經常使用的圖例圖標等學習

from matplotlib import pyplot as plt
import numpy as np

#這裏是最最基本的代碼了
#x軸-2到2均分50個點
x = np.linspace(-2, 2, 50)
y = x**2
plt.plot(x, y)
plt.show()

下面要加一下元素和樣式了字體

from matplotlib import pyplot as plt
import numpy as np

x = np.linspace(-2, 2, 50)
y = x**2
plt.xlim((-3,3))#設置x座標範圍
plt.ylim((0,5))#設置y座標範圍
plt.plot(x, y,
         linestyle='--',#線條的樣式
         linewidth=2.0,#線條寬度
         alpha=0.5,#透明度,數字越小越透明,範圍(0-1)
         marker='.',#每一個點的樣式
         color='r',#顏色
         label='y=x**2'#圖例
         )
#打開圖例,否則plt.plot裏面的label屬性會無效
plt.legend(
    loc='upper right'#指定圖例位置,這裏是右上,默認爲best會自動選擇最優的位置
           )
plt.show()

到這裏,若是咱們想要x軸刻度自由控制一下能夠用 plt.xticks 來實現spa

from matplotlib import pyplot as plt
import numpy as np

x = np.linspace(-2, 2, 50)
y = x**2
plt.xlim((-3,3))#設置x座標範圍
plt.ylim((0,5))#設置y座標範圍
plt.plot(x, y,
         linestyle='--',#線條的樣式
         linewidth=2.0,#線條寬度
         alpha=0.5,#透明度,數字越小越透明,範圍(0-1)
         marker='.',#每一個點的樣式
         color='r',#顏色
         label='y=x**2'#圖例
         )
#打開圖例,否則plt.plot裏面的label屬性會無效
plt.legend(
    loc='upper right'#指定圖例位置,這裏是右上,默認爲best會自動選擇最優的位置
           )

new_xticks = np.linspace(-2, 2, 6)
plt.xticks(new_xticks)#在-2到2之間平均顯示6個刻度

plt.show()

這裏x軸刻度就和以前發生一點變化,有時候不須要用具體數字而是一個文字標籤顯示,好比y軸0以上的爲normal,2以上爲good,4以上爲very good,code

能夠用 plt.yticks([0, 2, 4], [‘normal’,'good','very good']) 來實現,接下來就來實現一下orm

from matplotlib import pyplot as plt
import numpy as np

x = np.linspace(-2, 2, 50)
y = x**2
plt.xlim((-3,3))#設置x座標範圍
plt.ylim((0,5))#設置y座標範圍
plt.plot(x, y,
         linestyle='--',#線條的樣式
         linewidth=2.0,#線條寬度
         alpha=0.5,#透明度,數字越小越透明,範圍(0-1)
         marker='.',#每一個點的樣式
         color='r',#顏色
         label='y=x**2'#圖例
         )
#打開圖例,否則plt.plot裏面的label屬性會無效
plt.legend(
    loc='upper right'#指定圖例位置,這裏是右上,默認爲best會自動選擇最優的位置
           )

new_xticks = np.linspace(-2, 2, 6)
plt.xticks(new_xticks)#在-2到2之間平均顯示6個刻度

plt.yticks([0, 2, 4], [r'$normal$', r'$good$', r'$very\ good$'])#先後對應上就行了,$包住的是調整默認字體

plt.show()

接下來就是對座標軸的處理了,咱們想要移動座標,用方框的左邊和下班作y軸和x軸,右邊和上班把顏色去掉,而後移動一下x和y軸blog

from matplotlib import pyplot as plt
import numpy as np

x = np.linspace(-2, 2, 50)
y = x**2
plt.xlim((-3,3))#設置x座標範圍
plt.ylim((0,5))#設置y座標範圍
plt.plot(x, y,
         linestyle='--',#線條的樣式
         linewidth=2.0,#線條寬度
         alpha=0.5,#透明度,數字越小越透明,範圍(0-1)
         marker='.',#每一個點的樣式
         color='r',#顏色
         label='y=x**2'#圖例
         )
#打開圖例,否則plt.plot裏面的label屬性會無效
plt.legend(
    loc='upper right'#指定圖例位置,這裏是右上,默認爲best會自動選擇最優的位置
           )

new_xticks = np.linspace(-2, 2, 6)
plt.xticks(new_xticks)#在-2到2之間平均顯示6個刻度

plt.yticks([0, 2, 4], [r'$normal$', r'$good$', r'$very\ good$'])#先後對應上就行了,$包住的是調整默認字體

gca = plt.gca()
gca.spines['right'].set_color('none')#將圖像方框右邊顏色取消
gca.spines['top'].set_color('none')#將圖像方框上邊顏色取消
gca.xaxis.set_ticks_position('bottom')#x軸設爲方框下邊
gca.yaxis.set_ticks_position('left')#y軸設爲方框左邊
gca.spines['bottom'].set_position(('data', 1))#將方框下邊也就是x軸移動到y=1的位置
gca.spines['left'].set_position(('data', 0))#將方框左邊也就是y軸移動到x=0的位置

plt.show()

這裏的方法稍微有點麻煩,折騰了一下終於大功告成了!今天就到這兒,下次準備學習一下更怎樣在圖中用文字和其它說明it

相關文章
相關標籤/搜索