欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

繪制簡單的折線圖

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

?使用matplotlib繪制簡單的折線圖,再對其進(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ù)字越來越大,但標(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)沒有正確的繪制數(shù)據(jù),折線圖的終點(diǎn)指出4的平方為25!

向plot()提供一系列數(shù)字時(shí),它假設(shè)第一個(gè)數(shù)據(jù)點(diǎn)對應(yīng)的x坐標(biāo)值為0,但我們的第一個(gè)點(diǎn)對應(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ù)對圖像進(jìn)行定制

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

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

import matplotlib.pyplot as plt

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

效果如下:

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

import matplotlib.pyplot as plt

plt.scatter(2, 4, s=200)  # 向scatter函數(shù)傳遞一對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ù)傳遞一對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查看器,并顯示繪制的圖形

效果如下:

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

手動計(jì)算列表包含的值很麻煩,可以利用python中的循環(huán)來解決,下面是繪制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ù)傳遞一對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)的輪廓

要刪除數(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ù)傳遞一對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ù)傳遞一對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ù)傳遞一對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查看器,并顯示繪制的圖形

自動保存圖表

要讓程序自動將圖表保存到文件中,可將對plt.show()的調(diào)用替換為對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ù)傳遞一對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會重新創(chuàng)建新的圖片

以上就是繪制簡單折線圖的教程,如果有改進(jìn)的建議歡迎在評論區(qū)留言奧

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

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

相關(guān)文章

  • Python實(shí)現(xiàn)將DNA序列存儲為tfr文件并讀取流程介紹

    Python實(shí)現(xiàn)將DNA序列存儲為tfr文件并讀取流程介紹

    為什么要在實(shí)驗(yàn)過程中存儲文件,因?yàn)橛行┧惴ǖ膬?nèi)容存在一些重復(fù)計(jì)算的步驟,這些步驟往往消耗很大一部分時(shí)間,在有大量參數(shù)的情況時(shí),需要在多次不同參數(shù)的情況下重復(fù)試驗(yàn),因此可以考慮將一些不涉及參數(shù)運(yùn)算的部分結(jié)果存入文件中
    2022-09-09
  • python進(jìn)度條庫tqdm的基本操作方法

    python進(jìn)度條庫tqdm的基本操作方法

    這篇文章主要介紹了python進(jìn)度條庫tqdm的基本操作方法,tqdm實(shí)時(shí)輸出處理進(jìn)度而且占用的CPU資源非常少,支持windows、Linux、mac等系統(tǒng),支持循環(huán)處理、多進(jìn)程、遞歸處理、還可以結(jié)合linux的命令來查看處理情況等優(yōu)點(diǎn),下面對其更多內(nèi)容詳細(xì)介紹,需要的朋友可以參考一下
    2022-03-03
  • 手把手教你搭建python+selenium自動化環(huán)境(圖文)

    手把手教你搭建python+selenium自動化環(huán)境(圖文)

    本文主要介紹了手把手教你搭建python+selenium自動化環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Python?中?key?參數(shù)的含義及用法小結(jié)

    Python?中?key?參數(shù)的含義及用法小結(jié)

    我們在使用?sorted()?或?map()?函數(shù)的時(shí)候,都會看到里面有一個(gè)?key?參數(shù),其實(shí)這個(gè)?key?參數(shù)也存在于其他內(nèi)置函數(shù)中(例如?min()、max()?等),那么我們今天就來了解一下?key?參數(shù)的含義以及用途吧,需要的朋友可以參考下
    2023-12-12
  • python中xrange用法分析

    python中xrange用法分析

    這篇文章主要介紹了python中xrange用法,實(shí)例分析了xrange的功能、作用以及與range在使用中的區(qū)別,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 生成Jupyter Lab快捷方式的小技巧

    生成Jupyter Lab快捷方式的小技巧

    這篇文章主要介紹了生成Jupyter Lab快捷方式的小技巧,操作迅猛,花費(fèi)時(shí)間少,步驟詳細(xì),有需要的朋友可以參考下,希望可以對廣大讀者朋友有所幫助
    2021-09-09
  • Python中迭代器的創(chuàng)建與使用詳解

    Python中迭代器的創(chuàng)建與使用詳解

    Python中的迭代器是一個(gè)對象,用于迭代可迭代對象,如列表,元組,字典和集合,這篇文章主要為大家介紹了Python中迭代器的創(chuàng)建與使用,需要的可以參考下
    2023-08-08
  • python利用numpy存取文件案例教程

    python利用numpy存取文件案例教程

    這篇文章主要介紹了python利用numpy存取文件案例教程,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Flask框架單例模式實(shí)現(xiàn)方法詳解

    Flask框架單例模式實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了Flask框架單例模式實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了flask框架單例模式的4種實(shí)現(xiàn)方式與相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • 簡單談?wù)凱ython中的幾種常見的數(shù)據(jù)類型

    簡單談?wù)凱ython中的幾種常見的數(shù)據(jù)類型

    Python 中的變量不需要聲明。每個(gè)變量在使用前都必須賦值,變量賦值以后該變量才會被創(chuàng)建。在 Python 中,變量就是變量,它沒有類型,我們所說的"類型"是變量所指的內(nèi)存中對象的類型。
    2017-02-02

最新評論