一、數據準備
1、python 內置函數 range
創建一個整數列表,只限于整數
range(start, stop, step)
計數從start開始,默認從0開始,stop結束,但不包含stop,step為步長,默認為1
2. numpy中的arange
語法與range類似,由開始、結束、步長組成,步長默認為1
import numpy as np
print (np.arange(0,1,0.1))
輸出:
[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
?3. numpy中的linspace模塊,
np.linspace(start, end, num, endpoint=True)
計數從start開始,默認從0開始,stop結束, num表示總個數,endpoint默認為false,設置不包含終值
import numpy as np
print(np.linspace(0, 1, 10,endpoint=False))
print(np.linspace(0, 1, 10,endpoint=True))
輸出:
[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
[ 0. 0.11111111 0.22222222 0.33333333 0.44444444 0.55555556
0.66666667 0.77777778 0.88888889 1. ]
二、圖的類型 (繪制折線圖、散點圖,細節會在第三部分講解)
1.折線圖
#繪制折線圖
import matplotlib.pyplot as plt
month = [1,2,3,4,5,6]
sales = [10,12,12.4,13,16,18]
plt.plot(month,sales)
plt.title("Sales for the first 6 months") #圖名
plt.xlabel("month")#x軸標簽
plt.ylabel("sales")#y軸標簽
plt.tick_params(axis='both')#x,y軸都有刻度
plt.savefig('.//result//3.1.png')#保存圖片,一定要在show之前保存圖片,否則保存的圖片就為空白
plt.show(
2. 散點圖
plt.scatter(month,sales)
import matplotlib.pyplot as plt
month = [1,2,3,4,5,6]
sales = [10,12,12.4,13,16,18]
plt.scatter(month,sales)
plt.title("Sales for the first 6 months") #圖名
plt.xlabel("month")#x軸標簽
plt.ylabel("sales")#y軸標簽
plt.tick_params(axis='both')#x,y軸都有刻度
plt.savefig('.//result//3.2.png')#保存圖片,一定要在show之前保存圖片,否則保存的圖片就為空白
plt.show()
總結:
import matplotlib.pyplot as plt
#繪制折線圖
plt.plot(x,y)
#繪制散點圖
plt.scatter(x,y)
?三、圖的細節問題處理
改變如圖所示
- 圖表名的屬性
- 折線的屬性
- 坐標軸的屬性
- 刻度值的屬性
1.圖表名的屬性(title) ?
- fontsize設置字體大小,默認12,可以寫字體大小或參數,可選參數 ['xx-small', 'x-small', 'small', 'medium', 'large','x-large', 'xx-large']
- fontweight設置字體粗細,可選參數 ['light', 'normal', 'medium', 'semibold', 'bold', 'heavy', 'black']
- fontstyle設置字體類型,可選參數[?'normal'?|?'italic'?|?'oblique'?],italic斜體,oblique傾斜
- verticalalignment設置水平對齊方式 ,可選參數 :?'center'?,?'top'?,?'bottom'?,'baseline'?
- horizontalalignment設置垂直對齊方式,可選參數:left,right,center
- rotation(旋轉角度)可選參數為:vertical,horizontal 也可以為數字
- alpha透明度,參數值0至1之間
plt.title('Graph',fontsize='large',fontweight='bold') 設置字體大小與格式
plt.title('Graph',color='blue') 設置字體顏色
plt.title('Graph',loc ='left') 設置字體位置
2.折線屬性(plot)
顏色
c? 青紅(cyan) | ? r? 紅色(red) | m? 品紅(magente) | g? 綠色(green)? |
y? 黃色(yellow) | k? 黑色(black) | w? 白色(white) | b 藍色(blue) |
#繪制紅色折線
plt.plot(month,sales,color = 'r')
折線粗細(linewidth)
plt.plot(month,sales,linewidth = 2)?
在plt.plot加入如下參數時,改變折線形式
-? 直線 | -- 虛線 | -.? 一橫一點 | :? ?細小虛線 | s? 方形 ? | o? 圓形 | ?D 菱形 |
h? 六角形 | ?H? 六角形 | *? 星號 ? | +? 加號 | x? x形 | d? 菱形 | p? 五角形 |
plt.plot(month,sales,'-.',color ='r)
3.坐標軸的屬性?
設置坐標軸粗細
#設置坐標軸粗細
ax=plt.gca();#獲得坐標軸的句柄
ax.spines['bottom'].set_linewidth(2);###設置底部坐標軸的粗細
ax.spines['left'].set_linewidth(2);####設置左邊坐標軸的粗細
ax.spines['right'].set_linewidth(2);###設置右邊坐標軸的粗細
ax.spines['top'].set_linewidth(2);####設置上部坐標軸的粗細
設置橫縱坐標的名稱以及對應字體格式(xlabel,ylabel)
-
#參數值的調換參考圖標名的可選參數 font= {'family' : 'Times New Roman','weight' : 'normal','size' : 30,} ?? plt.xlabel('round',font) plt.ylabel('value',font)
坐標軸范圍設置,兩種,分別是xlim,ylinm 和 axis
plt.xlim(-6,6)
plt.ylim(-500,500)
plt.axis([xmin, xmax, ymin, ymax])
?
?
?4.坐標軸刻度屬性
plt.tick_params(axis='both',labelsize = 15)#x,y軸都有刻度
?將以上介紹的放在一個代碼中,實現設置屬性的功能
#繪制折線圖
import matplotlib.pyplot as plt
month = [1,2,3,4,5,6]
sales = [10,12,12.4,13,16,18]
#設置折線屬性
plt.plot(month,sales,'-.',color = 'r',linewidth = '4')
#設置圖名屬性
plt.title("Sales for the first 6 months",fontsize = 'large',fontweight = 'bold',color = 'b')
#設置坐標軸屬性
font= {'family' : 'Times New Roman','weight' : 'normal','size' : 30}
plt.xlabel("month",font)#x軸標簽
plt.ylabel("sales",font)#y軸標簽
#設置坐標軸粗細
ax=plt.gca();#獲得坐標軸的句柄
ax.spines['bottom'].set_linewidth(2);###設置底部坐標軸的粗細
ax.spines['left'].set_linewidth(2);####設置左邊坐標軸的粗細
ax.spines['right'].set_linewidth(2);###設置右邊坐標軸的粗細
ax.spines['top'].set_linewidth(2);####設置上部坐標軸的粗細
#設置坐標軸刻度的屬性
plt.tick_params(axis='both',labelsize = 15)
plt.savefig('.//result//3.5.png')#保存圖片,一定要在show之前保存圖片,否則保存的圖片就為空白
plt.show()
雖然很丑,但是將圖名、坐標軸等所有屬性都進行了設置?
最后,推薦一波自己的公眾號,Python機器學習進階之路 ?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
