最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?數(shù)據(jù)可視化超詳細(xì)講解折線圖的實(shí)現(xiàn)

 更新時(shí)間:2022年03月17日 11:56:48   作者:hacker707  
數(shù)據(jù)可以幫助我們描述這個(gè)世界、闡釋自己的想法和展示自己的成果,但如果只有單調(diào)乏味的文本和數(shù)字,我們卻往往能難抓住觀眾的眼球。而很多時(shí)候,一張漂亮的可視化圖表就足以勝過(guò)千言萬(wàn)語(yǔ),讓我們來(lái)用Python實(shí)現(xiàn)一個(gè)可視化的折線圖

繪制簡(jiǎn)單的折線圖

?在使用matplotlib繪制簡(jiǎn)單的折線圖之前首先需要安裝matplotlib,直接在pycharm終端pip install matplotlib即可

?使用matplotlib繪制簡(jiǎn)單的折線圖,再對(duì)其進(jìn)行定制,實(shí)現(xiàn)數(shù)據(jù)的可視化操作

import matplotlib.pyplot as plt  # 導(dǎo)入pyplot模塊并設(shè)置別名為plt

squares = [1, 4, 9, 16, 25]
plt.plot(squares)
plt.show()  # 打開matplotib查看器,并顯示繪制的圖形

運(yùn)行結(jié)果如下:

修改標(biāo)簽文字和線條粗細(xì)

上圖所示的圖形表示的數(shù)字越來(lái)越大,但標(biāo)簽文字太小,線條太細(xì),不方便觀察,這時(shí)就需要調(diào)整一下增加圖形的可讀性

import matplotlib.pyplot as plt  # 導(dǎo)入pyplot模塊并設(shè)置別名為plt

squares = [1, 4, 9, 16, 25]
plt.plot(squares, linewidth=5)  # 函數(shù)linewidth設(shè)置繪制線條的粗細(xì)
# 設(shè)置圖表標(biāo)題,并給坐標(biāo)軸加上標(biāo)簽
plt.title('Square number', fontsize=24)
plt.xlabel('Value', fontsize=14)
plt.ylabel('Square of Value', fontsize=14)
# 設(shè)置刻度標(biāo)記的大小
plt.tick_params(axis='both', labelsize=14)
plt.show()  # 打開matplotib查看器,并顯示繪制的圖形

效果如下:

校正圖形

圖形更容易閱讀了,但我們發(fā)現(xiàn)沒(méi)有正確的繪制數(shù)據(jù),折線圖的終點(diǎn)指出4的平方為25!

向plot()提供一系列數(shù)字時(shí),它假設(shè)第一個(gè)數(shù)據(jù)點(diǎn)對(duì)應(yīng)的x坐標(biāo)值為0,但我們的第一個(gè)點(diǎn)對(duì)應(yīng)的x值為1。為改變這種默認(rèn)行為,我們可以給plot同時(shí)提供輸入值和輸出值。

import matplotlib.pyplot as plt  # 導(dǎo)入pyplot模塊并設(shè)置別名為plt

input_value = [1, 2, 3, 4, 5]
squares = [1, 4, 9, 16, 25]   
plt.plot(input_value, squares, linewidth=5)  # 函數(shù)linewidth設(shè)置繪制線條的粗細(xì)
# 設(shè)置圖表標(biāo)題,并給坐標(biāo)軸加上標(biāo)簽
plt.title('Square number', fontsize=24)
plt.xlabel('Value', fontsize=14)
plt.ylabel('Square of Value', fontsize=14)
# 設(shè)置刻度標(biāo)記的大小
plt.tick_params(axis='both', labelsize=14)
plt.show()  # 打開matplotib查看器,并顯示繪制的圖形

效果如下:

現(xiàn)在plot()成功繪制數(shù)據(jù),因?yàn)槲覀兺瑫r(shí)提供了輸入值和輸出值。使用plot()時(shí)可指定各種實(shí)參,還可使用眾多函數(shù)對(duì)圖像進(jìn)行定制

使用scatter()繪制散點(diǎn)圖并設(shè)置其格式

有時(shí)候需要繪制散點(diǎn)圖并設(shè)置各個(gè)數(shù)據(jù)的格式。例如:你可能想以一種顏色顯示較小的值,用一種顏色顯示較大的值。繪制大型數(shù)據(jù)集時(shí),你還可以對(duì)每個(gè)點(diǎn)都設(shè)置同樣的格式,再使用不同的樣式選項(xiàng)重新繪制某個(gè)點(diǎn),以突出它們 ?要繪制單個(gè)點(diǎn),可使用函數(shù)scatter(),并向它傳遞一對(duì)x,y坐標(biāo),它將在指定繪制繪制一個(gè)點(diǎn)

import matplotlib.pyplot as plt

plt.scatter(2, 4)  # 向scatter函數(shù)傳遞一對(duì)x,y坐標(biāo)
plt.show()  # 打開matplotib查看器,并顯示繪制的圖形

效果如下:

下面來(lái)設(shè)置輸出的樣式,使其更有趣:添加標(biāo)題,給坐標(biāo)軸加上標(biāo)簽,并設(shè)置文本格式

import matplotlib.pyplot as plt

plt.scatter(2, 4, s=200)  # 向scatter函數(shù)傳遞一對(duì)x,y坐標(biāo)
# 設(shè)置圖表標(biāo)題,并給坐標(biāo)軸加上標(biāo)簽
plt.title('Square number', fontsize=24)
plt.xlabel('Value', fontsize=14)
plt.ylabel('Square of Value', fontsize=14)
# 設(shè)置刻度標(biāo)記的大小
plt.tick_params(axis='both', which='major', labelsize=14)
plt.show()  # 打開matplotib查看器,并顯示繪制的圖形

效果如下:

使用scatter()繪制一系列點(diǎn)

import matplotlib.pyplot as plt

x_values = [1, 2, 3, 4, 5]
y_values = [1, 4, 9, 16, 25]
plt.scatter(x_values, y_values, s=100)  # 向scatter函數(shù)傳遞一對(duì)x,y坐標(biāo)
# 設(shè)置圖表標(biāo)題,并給坐標(biāo)軸加上標(biāo)簽
plt.title('Square number', fontsize=24)
plt.xlabel('Value', fontsize=14)
plt.ylabel('Square of Value', fontsize=14)
# 設(shè)置刻度標(biāo)記的大小
plt.tick_params(axis='both', which='major', labelsize=14)
plt.show()  # 打開matplotib查看器,并顯示繪制的圖形

效果如下:

自動(dòng)計(jì)算數(shù)據(jù)

手動(dòng)計(jì)算列表包含的值很麻煩,可以利用python中的循環(huán)來(lái)解決,下面是繪制1000個(gè)點(diǎn)的范例:

import matplotlib.pyplot as plt

x_values = list(range(1, 1001))
y_values = [x ** 2 for x in x_values]
plt.scatter(x_values, y_values, s=10)  # 向scatter函數(shù)傳遞一對(duì)x,y坐標(biāo)
# 設(shè)置圖表標(biāo)題,并給坐標(biāo)軸加上標(biāo)簽
plt.title('Square number', fontsize=24)
plt.xlabel('Value', fontsize=14)
plt.ylabel('Square of Value', fontsize=14)
# 設(shè)置刻度標(biāo)記的大小
plt.tick_params(axis='both', which='major', labelsize=14)
# 設(shè)置每個(gè)坐標(biāo)軸的取值范圍
plt.axis([0, 1100, 0, 1100000])
plt.show()  # 打開matplotib查看器,并顯示繪制的圖形

?這里需要注意函數(shù)axis需要傳入四個(gè)值,x,y坐標(biāo)的最小值,最大值 效果如下:

刪除數(shù)據(jù)點(diǎn)的輪廓

要?jiǎng)h除數(shù)據(jù)點(diǎn)的輪廓,可在調(diào)用scatter()時(shí)傳遞實(shí)參edgecolor=‘none’

plt.scatter(x_values, y_values, edgecolors='none', s=10)
import matplotlib.pyplot as plt

x_values = list(range(1, 1001))
y_values = [x ** 2 for x in x_values]
plt.scatter(x_values, y_values, edgecolors='none', s=10)  # 向scatter函數(shù)傳遞一對(duì)x,y坐標(biāo)
# 設(shè)置圖表標(biāo)題,并給坐標(biāo)軸加上標(biāo)簽
plt.title('Square number', fontsize=24)
plt.xlabel('Value', fontsize=14)
plt.ylabel('Square of Value', fontsize=14)
# 設(shè)置刻度標(biāo)記的大小
plt.tick_params(axis='both', which='major', labelsize=14)
# 設(shè)置每個(gè)坐標(biāo)軸的取值范圍
plt.axis([0, 1100, 0, 1100000])
plt.show()  # 打開matplotib查看器,并顯示繪制的圖形

效果如下:

自定義顏色

要修改數(shù)據(jù)點(diǎn)的顏色,可向scatter()傳遞參數(shù)c,并將其設(shè)置要使用的顏色的名稱

plt.scatter(x_values, y_values, c='red',edgecolors='none', s=10)
import matplotlib.pyplot as plt

x_values = list(range(1, 1001))
y_values = [x ** 2 for x in x_values]
plt.scatter(x_values, y_values, c='red',edgecolors='none', s=10)  # 向scatter函數(shù)傳遞一對(duì)x,y坐標(biāo)
# 設(shè)置圖表標(biāo)題,并給坐標(biāo)軸加上標(biāo)簽
plt.title('Square number', fontsize=24)
plt.xlabel('Value', fontsize=14)
plt.ylabel('Square of Value', fontsize=14)
# 設(shè)置刻度標(biāo)記的大小
plt.tick_params(axis='both', which='major', labelsize=14)
# 設(shè)置每個(gè)坐標(biāo)軸的取值范圍
plt.axis([0, 1100, 0, 1100000])
plt.show()  # 打開matplotib查看器,并顯示繪制的圖形

效果如下:

使用顏色映射

顏色映射(colormap)是一系列顏色,它們從顏色漸變到結(jié)束顏色。在可視化中,顏色映射用于突出數(shù)據(jù)的規(guī)律,例如,你可能用較淺的顏色顯示較小的值,并使用較深的顏色顯示較大的值

import matplotlib.pyplot as plt

x_values = list(range(1, 1001))
y_values = [x ** 2 for x in x_values]
# 將c設(shè)置為y值列表,使用參數(shù)cmap告訴pyplot使用哪個(gè)顏色映射
plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues, edgecolors='none', s=10)  # 向scatter函數(shù)傳遞一對(duì)x,y坐標(biāo)
# 設(shè)置圖表標(biāo)題,并給坐標(biāo)軸加上標(biāo)簽
plt.title('Square number', fontsize=24)
plt.xlabel('Value', fontsize=14)
plt.ylabel('Square of Value', fontsize=14)
# 設(shè)置刻度標(biāo)記的大小
plt.tick_params(axis='both', which='major', labelsize=14)
# 設(shè)置每個(gè)坐標(biāo)軸的取值范圍
plt.axis([0, 1100, 0, 1100000])
plt.show()  # 打開matplotib查看器,并顯示繪制的圖形

自動(dòng)保存圖表

要讓程序自動(dòng)將圖表保存到文件中,可將對(duì)plt.show()的調(diào)用替換為對(duì)plt.sacefig()的調(diào)用

plt.savefig('squares.png',bbox_inches='tight')

第一個(gè)實(shí)參指定要以什么樣的文件名保存圖表,第二個(gè)實(shí)參指定將圖表多余的空白區(qū)域裁剪(如果要保留,可省略這個(gè)實(shí)參)

import matplotlib.pyplot as plt

x_values = list(range(1, 1001))
y_values = [x ** 2 for x in x_values]
# 將c設(shè)置為y值列表,使用參數(shù)cmap告訴pyplot使用哪個(gè)顏色映射
plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues, edgecolors='none', s=10)  # 向scatter函數(shù)傳遞一對(duì)x,y坐標(biāo)
# 設(shè)置圖表標(biāo)題,并給坐標(biāo)軸加上標(biāo)簽
plt.title('Square number', fontsize=24)
plt.xlabel('Value', fontsize=14)
plt.ylabel('Square of Value', fontsize=14)
# 設(shè)置刻度標(biāo)記的大小
plt.tick_params(axis='both', which='major', labelsize=14)
# 設(shè)置每個(gè)坐標(biāo)軸的取值范圍
plt.axis([0, 1100, 0, 1100000])
plt.savefig('squares.png',bbox_inches='tight')
plt.show()  # 打開matplotib查看器,并顯示繪制的圖形

保存效果如下:

?注意事項(xiàng): 一定要把保存圖表的代碼放在plt.show前面,要是放在后面show會(huì)重新創(chuàng)建新的圖片

以上就是繪制簡(jiǎn)單折線圖的教程,如果有改進(jìn)的建議歡迎在評(píng)論區(qū)留言?shī)W

??人生苦短,我用python??

到此這篇關(guān)于Python 數(shù)據(jù)可視化超詳細(xì)講解折線圖的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python 折線圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python多線程編程(五):死鎖的形成

    Python多線程編程(五):死鎖的形成

    這篇文章主要介紹了Python多線程編程(五):死鎖的形成,本文講解了死鎖的概念、死鎖示例、避免死鎖的方法等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • python虛擬環(huán)境的安裝和配置(virtualenv,virtualenvwrapper)

    python虛擬環(huán)境的安裝和配置(virtualenv,virtualenvwrapper)

    這篇文章主要介紹了python虛擬環(huán)境的安裝和配置(virtualenv,virtualenvwrapper),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python微信自動(dòng)化庫(kù)使用詳解

    Python微信自動(dòng)化庫(kù)使用詳解

    Python微信自動(dòng)化是指使用Python編程語(yǔ)言來(lái)實(shí)現(xiàn)對(duì)微信的自動(dòng)化操作,在Python中,有幾個(gè)庫(kù)可以用于微信自動(dòng)化操作,包括itchat、wxpy、wechatpy和wxauto,以下是對(duì)這些庫(kù)的詳細(xì)介紹,需要的朋友可以參考下
    2025-03-03
  • Python區(qū)塊鏈Creating?Miners教程

    Python區(qū)塊鏈Creating?Miners教程

    這篇文章主要為大家介紹了Python區(qū)塊鏈Creating?Miners教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python 發(fā)送SMTP郵件的簡(jiǎn)單教程

    Python 發(fā)送SMTP郵件的簡(jiǎn)單教程

    SMTP(Simple Mail Transfer Protocol)簡(jiǎn)單郵件傳輸協(xié)議,Python內(nèi)置對(duì)SMTP的支持,可以發(fā)送純文本文件,HTML郵件以及附帶文件。本文講解如何使用python發(fā)送郵件
    2021-06-06
  • Python的這些庫(kù),你知道多少?

    Python的這些庫(kù),你知道多少?

    最近整理了一些好用的庫(kù)但是只是初級(jí)介紹,如果大家用得到的話還請(qǐng)自己到官網(wǎng)上查一下,因?yàn)闁|西太多我一 一介紹的話可能不太現(xiàn)實(shí),需要的朋友可以參考下
    2021-06-06
  • Pycharm中的下載安裝、配置與測(cè)試方式

    Pycharm中的下載安裝、配置與測(cè)試方式

    這篇文章主要介紹了Pycharm中的下載安裝、配置與測(cè)試方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python用戶管理系統(tǒng)

    python用戶管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Python用戶管理系統(tǒng)的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 詳解appium+python 啟動(dòng)一個(gè)app步驟

    詳解appium+python 啟動(dòng)一個(gè)app步驟

    這篇文章主要介紹了詳解appium+python 啟動(dòng)一個(gè)app步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • Python模塊與包管理使用pip與virtualenv

    Python模塊與包管理使用pip與virtualenv

    本文深入介紹了使用pipenv管理Python項(xiàng)目的依賴關(guān)系和環(huán)境,我們首先從pip和virtualenv開始,介紹了它們的基本功能和用法,然后深入探討了pipenv作為更高級(jí)工具的功能和特性,
    2024-03-03

最新評(píng)論

万宁市| 无棣县| 和龙市| 德格县| 永新县| 广昌县| 浦北县| 咸宁市| 白城市| 广丰县| 嫩江县| 北安市| 红桥区| 罗定市| 沙洋县| 滦平县| 云南省| 长兴县| 昭通市| 仪征市| 龙陵县| 奉化市| 临西县| 古田县| 尼木县| 农安县| 平舆县| 三原县| 响水县| 米林县| 邳州市| 岢岚县| 乌兰察布市| 浪卡子县| 图们市| 宁南县| 搜索| 宁化县| 资溪县| 樟树市| 塔河县|