人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Python可視化Matplotlib折線圖plot用法詳解

發(fā)布日期:2021-12-31 13:01 | 文章來源:源碼之家

折線圖是數(shù)據(jù)分析中非常常用的圖形。其中,折線圖主要是以折線的上升或下降來表示統(tǒng)計(jì)數(shù)量的增減變化的統(tǒng)計(jì)圖。用于分析自變量和因變量之間的趨勢關(guān)系,最適合用于顯示隨著時(shí)間而變化的連續(xù)數(shù)據(jù),同時(shí)還可以看出數(shù)量的差異,增長情況。

特點(diǎn):能夠顯示數(shù)據(jù)的變化趨勢,反映事物的變化情況。

Matplotlib 中繪制折線圖的函數(shù)為 plot() ,使用語法如下:

matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs)

常用參數(shù)及說明:

參數(shù) 接收值 說明 默認(rèn)值
x,y array 表示 x 軸與 y 軸對應(yīng)的數(shù)據(jù)
color string 表示折線的顏色 None
marker string 表示折線上數(shù)據(jù)點(diǎn)處的類型 None
linestyle string 表示折線的類型 -
linewidth 數(shù)值 線條粗細(xì):linewidth=1.=5.=0.3 1
alpha 0~1之間的小數(shù) 表示點(diǎn)的透明度 None
label string 數(shù)據(jù)圖例內(nèi)容:label=‘實(shí)際數(shù)據(jù)' 1None

1.完善原始折線圖 — 給圖形添加輔助功能

需求:畫出某城市11點(diǎn)到12點(diǎn)1小時(shí)內(nèi)每分鐘的溫度變化折線圖,溫度范圍在15度~25度

1.1 準(zhǔn)備數(shù)據(jù)并畫出初始折線圖

import matplotlib.pyplot as plt
import random
# 畫出溫度變化圖
# 0.準(zhǔn)備x, y坐標(biāo)的數(shù)據(jù)
x = range(60)
y_jiangsu = [random.uniform(15, 25) for i in x]
# 1.創(chuàng)建畫布
plt.figure(figsize=(20, 8), dpi=80)
# 2.繪制折線圖
plt.plot(x, y_jiangsu)
# 3.顯示圖像
plt.show()

1.2 添加自定義x,y刻度

plt.xticks(x, **kwargs)

x:要顯示的刻度值

plt.yticks(y, **kwargs)

y:要顯示的刻度值

# 構(gòu)造x軸刻度標(biāo)簽
x_ticks_label = ["11點(diǎn){}分".format(i) for i in x]
# 構(gòu)造y軸刻度
y_ticks = range(40)
# 修改x,y軸坐標(biāo)的刻度顯示
plt.xticks(x[::5], x_ticks_label[::5])
plt.yticks(y_ticks[::5])

1.3 中文顯示問題解決

如果沒有解決過中文問題的話,繪制的圖像會出現(xiàn)中文無法顯示的問題。

解決方案:
在Python腳本中動態(tài)設(shè)置matplotlibrc,這樣也可以避免由于更改配置文件而造成的麻煩,具體代碼如下:

from pylab import mpl
# 設(shè)置顯示中文字體
mpl.rcParams["font.sans-serif"] = ["SimHei"]

有時(shí)候,字體更改后,會導(dǎo)致坐標(biāo)軸中的部分字符無法正常顯示,例如無法顯示負(fù)號問題,此時(shí)需要更改axes.unicode_minus參數(shù):

# 設(shè)置正常顯示符號
mpl.rcParams["axes.unicode_minus"] = False

1.4 添加網(wǎng)格顯示

為了更加清楚地觀察圖形對應(yīng)的值

plt.grid(True, linestyle='--', alpha=0.5)

1.5 添加描述信息

添加x軸、y軸描述信息及標(biāo)題

通過fontsize參數(shù)可以修改圖像中字體的大小

plt.xlabel("時(shí)間")
plt.ylabel("溫度")
plt.title("江蘇中午11點(diǎn)0分到12點(diǎn)之間的溫度變化圖示", fontsize=20)

1.6 圖像保存

# 保存圖片到指定路徑
plt.savefig("test.png")

注意:plt.show()會釋放figure資源,如果在顯示圖像之后保存圖片將只能保存空圖片。

2. 在一個(gè)坐標(biāo)系中繪制多個(gè)圖像

2.1 多次plot

需求:再添加一個(gè)城市的溫度變化
收集到北京當(dāng)天溫度變化情況,溫度在1度到3度。怎么去添加另一個(gè)在同一坐標(biāo)系當(dāng)中的不同圖形,其實(shí)很簡單只需要再次plot即可,但是需要區(qū)分線條。

# 增加北京的溫度數(shù)據(jù)
y_beijing = [random.uniform(1, 3) for i in x]
# 繪制折線圖
plt.plot(x, y_jiangsu)
# 使用多次plot可以畫多個(gè)折線
plt.plot(x, y_beijing, color='r', linestyle='--')

2.2 顯示圖例

注意:如果只在plt.plot()中設(shè)置label還不能最終顯示出圖例,還需要通過plt.legend()將圖例顯示出來。

# 繪制折線圖
plt.plot(x, y_jiangsu, label="江蘇")
# 使用多次plot可以畫多個(gè)折線
plt.plot(x, y_beijing, color='r', linestyle='--', label="北京")
# 顯示圖例
plt.legend(loc="best")

完整代碼:

# 0.準(zhǔn)備數(shù)據(jù)
x = range(60)
y_jiangsu = [random.uniform(15, 25) for i in x]
y_beijing = [random.uniform(1,3) for i in x]
# 1.創(chuàng)建畫布
plt.figure(figsize=(20, 8), dpi=100)
# 2.繪制圖像
plt.plot(x, y_jiangsu, label="江蘇")
plt.plot(x, y_beijing, color="r", linestyle="--", label="北京")
# 2.1 添加x,y軸刻度
# 構(gòu)造x,y軸刻度標(biāo)簽
x_ticks_label = ["11點(diǎn){}分".format(i) for i in x]
y_ticks = range(35)
# 刻度顯示
plt.xticks(x[::5], x_ticks_label[::5])
plt.yticks(y_ticks[::5])
# 2.2 添加網(wǎng)格顯示
plt.grid(True, linestyle="--", alpha=0.5)
# 2.3 添加描述信息
plt.xlabel("時(shí)間")
plt.ylabel("溫度")
plt.title("中午11點(diǎn)--12點(diǎn)某城市溫度變化圖", fontsize=20)
# 2.4 圖像保存
plt.savefig("./test.png")
# 2.5 添加圖例
plt.legend(loc="best")
# 3.圖像顯示
plt.show()

2.3 折線圖的應(yīng)用場景

  • 呈現(xiàn)公司產(chǎn)品(不同區(qū)域)每天活躍用戶數(shù)
  • 呈現(xiàn)app每天下載數(shù)量
  • 呈現(xiàn)產(chǎn)品新功能上線后,用戶點(diǎn)擊次數(shù)隨時(shí)間的變化

創(chuàng)作不易,白嫖不好,各位的支持和認(rèn)可,就是我創(chuàng)作的最大動力,我們下篇文章見!

Dragon少年 | 文

如果本篇博客有任何錯(cuò)誤,請批評指教,不勝感激 !

以上就是Python可視化Matplotlib折線圖plot用法詳解的詳細(xì)內(nèi)容,更多關(guān)于Python可視化Matplotlib的資料請關(guān)注本站其它相關(guān)文章!

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部