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

python使用matplotlib繪制折線圖

 更新時間:2022年04月23日 17:12:11   作者:只曉得閑逛  
這篇文章主要為大家詳細介紹了python使用matplotlib繪制折線圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

前言:

我的python學習也告一段落了。不過有些,方法還是打算總結(jié)一下和大家分享。我整理了使用matplotlib繪制折線圖的一般步驟,按照這個步驟走繪制折線圖一般都沒啥問題。其實用matplotlib庫繪制折線圖的過程,其實就是類似于數(shù)學上描點,連線繪制圖形的過程。所有,這個過程就可以簡單的規(guī)劃為獲取圖像點信息,描點連線,設(shè)置圖線格式這三個部分。

matplotlib庫的安裝以及程序引用的說明:

我使用的編程軟件為pycharm,我就說一下pycharm安裝matplotlib庫的方法吧。在主頁面文件選項下,找到設(shè)置。進一步找到項目解釋器。之后在所選框中,點擊軟件包上的+號就可以進行查詢插件安裝了。有過編譯器插件安裝的hxd估計會比較好入手。具體情況就如下圖所示。

至于程序書寫過程中,我們需要引用matplotlib庫,用于繪制折線圖,一般這樣引用:

import matplotlib.pyplot as plt

折線圖繪制的一般過程:

第一步:獲取自己所需要的點的坐標:

一般我們是繪制平面圖,也就是說,我們需要獲取點的x坐標和y坐標。我們用于繪制折線圖時,坐標信息一般都保存于兩個列表中。兩個列表對應index下標對應的值,就為一個點的x,y值。至于點的坐標信息,就可以根據(jù)需要自己設(shè)置了。

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]#直接建立列表,設(shè)置
data = [[1, 2, 3, 4, 5, 6],
? ? ? ? [2, 4, 6, 8, 10, 12],
? ? ? ? [1, 3, 5, 7, 9, 11],
? ? ? ? [1.1, 2.2, 3.3, 4.4, 5.5, 6.6],
? ? ? ? [3, 6, 9, 12, 15, 18],
? ? ? ? [4, 8, 12, 16, 20, 24],
? ? ? ? [5, 10, 15, 20, 25, 30],
? ? ? ? [1.5, 2.5, 3.5, 4.5, 5.5, 6.5],
? ? ? ? [1, 4, 7, 10, 13, 16],
? ? ? ? [2, 5, 8, 11, 14, 17]]
y = [np.mean(i) for i in data]#循環(huán)求平均值

這是我一個程序中,設(shè)置x,y坐標的方法。

第二步:連線繪圖:

是的,這個過程并不復雜。把點的信息設(shè)置好就可以直接繪制圖形了。繪制圖形也很簡單,調(diào)用plot函數(shù)就行。這是繪制折線圖的函數(shù)。用matpotlib繪制其它圖差不多也是這個過程,不過繪圖函數(shù)不一樣罷了。

# 繪制圖形
plt.plot(x, y, linewidth=1, color="orange", marker="o",label="Mean value")

其中參數(shù)的解釋:

color:代表的是折線的顏色設(shè)置

label:代表的是設(shè)置折線的標簽,其實就相當于給它取了個名字

linewidth:代表給折線設(shè)置寬度,通俗的說就是粗細

marker:"o"這樣的寫法,可以使得折線中每個點被標記出來。不設(shè)置,就看不到每個點。

第三步:折線圖坐標軸的設(shè)置:

調(diào)用label函數(shù)就可以給橫縱坐標軸起名字了。

plt.xlabel("發(fā)布日期")#給x軸起名字
plt.ylabel("小說數(shù)量")#給y軸起名字

調(diào)用xticks函數(shù)和ytickes函數(shù)就可以設(shè)置折線圖的坐標軸了。中間的列表就是設(shè)置各個坐標軸上有幾個點,且每個點的值是多少。中間數(shù)據(jù)的多少和取值多少隨意,看自己的需要。

# 設(shè)置橫縱坐標
plt.xticks([0, 2, 4, 6, 8, 10, 12])
plt.yticks([0, 5, 10, 15, 20, 25])

第四步:其它的一些設(shè)置:

圖像標題的設(shè)置:

使用plt.title("")函數(shù)就可以設(shè)置圖像標題了。

背景網(wǎng)格的設(shè)置:

如果想讓自己的圖像背景不是白板,有網(wǎng)格線的話,就可以加上grid語句。

plt.grid() ?# 設(shè)置網(wǎng)格模式

折線說明框的設(shè)置:

如果想在圖像中加入折線說明框,就可以使用legend函數(shù),它會自動提取折線的名字然后表示出來。比如,我的折線取名為Mean Value。就會出現(xiàn)下面這個框。下面的那個,是另一條線的名字。

圖像上每個點文本的設(shè)置:

還可以給每個點設(shè)置文本。就是折線上,每個點旁邊顯示一個數(shù)字或者幾個字啥的。這個用text函數(shù)就可以做到。

#設(shè)置每個點上的數(shù)值
for i in range(10):
? ? ? ? plt.text(x[i], y[i], y[i], fontsize=12, color="black", style="italic", weight="light", verticalalignment='center',horizontalalignment='right', rotation=90)

text函數(shù),前兩個值表示點的坐標,第三個值就是要設(shè)置的文本信息。至于后面的都是屬性值的設(shè)置,fontsize是字體大小的設(shè)置,color是字體顏色的設(shè)置,style是字體格式的設(shè)置,也就是字體類型。weight是字體顏色深度的設(shè)置。后面兩個屬性值,是顯示位置的設(shè)置。

第五步:將圖像信息顯示出來:

如果想保存圖像的話,可以直接調(diào)用savefig函數(shù)。

plt.savefig("./xrd.png")

當然繪制好的圖像是看不到的,要調(diào)用函數(shù)show才能看到。

plt.show()

代碼實例以及繪制出的圖像:

import numpy as np
import matplotlib.pyplot as plt
?
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
data = [[1, 2, 3, 4, 5, 6],
? ? ? ? [2, 4, 6, 8, 10, 12],
? ? ? ? [1, 3, 5, 7, 9, 11],
? ? ? ? [1.1, 2.2, 3.3, 4.4, 5.5, 6.6],
? ? ? ? [3, 6, 9, 12, 15, 18],
? ? ? ? [4, 8, 12, 16, 20, 24],
? ? ? ? [5, 10, 15, 20, 25, 30],
? ? ? ? [1.5, 2.5, 3.5, 4.5, 5.5, 6.5],
? ? ? ? [1, 4, 7, 10, 13, 16],
? ? ? ? [2, 5, 8, 11, 14, 17]]
y = [np.mean(i) for i in data]
?
?
# 繪制圖形
plt.plot(x, y, linewidth=1, color="orange", marker="o",label="Mean value")
# 算標準差
yTop = [y[i] + np.std(data[i]) for i in range(len(data))]
yBottom = [y[i] - np.std(data[i]) for i in range(len(data))]
plt.fill_between(x, yTop, yBottom ,color="lightgreen",label="Standard deviation")#填充色塊
# 設(shè)置橫縱坐標
plt.xticks([0, 2, 4, 6, 8, 10, 12])
plt.yticks([0, 5, 10, 15, 20, 25])
plt.legend(["Mean value","Standard deviation"],loc="upper left")#設(shè)置線條標識
plt.grid() ?# 設(shè)置網(wǎng)格模式
#設(shè)置每個點上的數(shù)值
for i in range(10):
? ? ? ? plt.text(x[i], y[i], y[i], fontsize=12, color="black", style="italic", weight="light", verticalalignment='center',horizontalalignment='right', rotation=90)
plt.show()

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python報錯:ModuleNotFoundError的解決辦法

    Python報錯:ModuleNotFoundError的解決辦法

    "ModuleNotFoundError: No module named 'xxx'"這個報錯是個非常常見的報錯,幾乎每個python程序員都遇到過,下面這篇文章主要給大家介紹了關(guān)于Python報:ModuleNotFoundError錯誤的解決辦法,需要的朋友可以參考下
    2022-06-06
  • 詳解用python計算階乘的幾種方法

    詳解用python計算階乘的幾種方法

    這篇文章主要介紹了詳解用python計算階乘的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Python實現(xiàn)把類當做字典來訪問

    Python實現(xiàn)把類當做字典來訪問

    今天小編就為大家分享一篇Python實現(xiàn)把類當做字典來訪問,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python正則實現(xiàn)提取電話功能

    python正則實現(xiàn)提取電話功能

    這篇文章主要為大家詳細介紹了python正則實現(xiàn)提取電話功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Python bisect_left 函數(shù)使用場景詳解

    Python bisect_left 函數(shù)使用場景詳解

    在Python的編程世界中,數(shù)據(jù)處理和搜索操作是非常常見的任務,bisect_left函數(shù)是Python標準庫bisect模塊中的一個強大工具,接下來,我們將詳細探討bisect_left函數(shù)的使用場景,需要的朋友可以參考下
    2024-11-11
  • Python Web框架Flask中使用新浪SAE云存儲實例

    Python Web框架Flask中使用新浪SAE云存儲實例

    這篇文章主要介紹了Python Web框架Flask中使用新浪SAE云存儲實例,本文是對SAE云存儲的簡單封裝,需要的朋友可以參考下
    2015-02-02
  • Python中實現(xiàn)輸入超時及如何通過變量獲取變量名

    Python中實現(xiàn)輸入超時及如何通過變量獲取變量名

    這篇文章主要介紹了Python中實現(xiàn)輸入超時以及通過變量獲取變量的名字,本文給大家分享了解決思路主要是通過多線程法實現(xiàn),需要的朋友可以參考下
    2020-01-01
  • 淺談keras2 predict和fit_generator的坑

    淺談keras2 predict和fit_generator的坑

    這篇文章主要介紹了淺談keras2 predict和fit_generator的坑,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python中退出多層循環(huán)的方法

    python中退出多層循環(huán)的方法

    這篇文章主要介紹了python中退出多層循環(huán)的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • Python自然語言處理詞匯分析技術(shù)實戰(zhàn)

    Python自然語言處理詞匯分析技術(shù)實戰(zhàn)

    這篇文章為大家介紹了Python自然語言處理詞匯分析技術(shù)實戰(zhàn),主要對詞匯分析進行介紹,一些語言方面的基礎(chǔ)知識(詞性、詞語規(guī)范化),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪<BR>
    2024-01-01

最新評論

仁怀市| 万宁市| 庆云县| 东城区| 怀来县| 南安市| 左权县| 敦化市| 海兴县| 民县| 法库县| 崇州市| 中卫市| 黄陵县| 大英县| 健康| 苍梧县| 溧水县| 甘肃省| 平南县| 元阳县| 探索| 镇安县| 万荣县| 商南县| 兴安县| 芦山县| 金溪县| 紫云| 纳雍县| 义乌市| 清新县| 宁安市| 稻城县| 方城县| 蚌埠市| 凤山县| 宁波市| 西峡县| 三江| 阳高县|