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

Python 用matplotlib畫以時間日期為x軸的圖像

 更新時間:2019年08月06日 10:24:22   作者:祥知道  
這篇文章主要介紹了Python 用matplotlib畫以時間日期為x軸的圖像,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1.效果展示

主要效果就是,x軸 顯示時間單位。

下圖展示的就是想要到達的效果。

其實主要是運用了datetime.date這個類型的變量作為x軸坐標的數(shù)據(jù)輸入。

2. 源碼

data.txt中的數(shù)據(jù)讀入,用matplotlib中的pyplot畫出,x軸為時間。

數(shù)據(jù)文本 data.txt,除了第一行表頭外,每一列都用制表符Tab\t)隔開。

     原創(chuàng) 粉絲 喜歡 評論 等級 訪問 積分  排名
2018/06/01 69 134 266 64 5  309132 3345  12956  
2018/06/05 72 137 267 65 5  312383 3390  12832  
2018/06/10 74 141 268 68 5  316417 3432  12629  
2018/06/11 75 142 269 69 5  317327 3448  12629  
2018/06/14 76 148 270 70 5  319695 3469  12499  
2018/06/15 79 149 278 73 5  320697 3514  12590  

2018/06/23 84 149 278 73 5  325308 3582  12186  
2018/06/24 84 149 278 73 5  325583 3583  12233  
2018/06/25 84 149 278 73 5  326008 3584  12038  
2018/06/25 84 149 279 73 5  326039 3584  12038  

程序源碼:

# read csdn data
from datetime import datetime 
import matplotlib.pyplot as plt #引入繪圖庫


if __name__ == '__main__':

  # 打開文本文件 讀取數(shù)據(jù)
  with open("data.txt",'r',encoding='utf-8') as f:
    data_lines = f.readlines()

  l_time  = []
  l_article = []
  l_fans  = []
  l_like  = []
  l_remark = []
  l_level  = []
  l_visit  = []
  l_score  = []
  l_rank  = []

  num = len(data_lines)

  # ################
  #   整理數(shù)據(jù)
  # ################
  for i in range(1,num):
    line = data_lines[i]#從第1行開始[0行開始計數(shù)]
    if len(line) < 2:
      continue  #這行明顯不是有效信息

    data = line.split('\t')
    time = data[0]
    # 使用最新日期的數(shù)據(jù)
    if len(l_time) != 0:
      if time == l_time[-1]:#如果這一行時間與上一行的時間相等,刪除上一行數(shù)據(jù)
        print('刪除上一行:' + time)
        l_time.pop(-1) #刪除上一行記錄的數(shù)據(jù)
        l_article.pop(-1)
        l_fans.pop(-1)
        l_like.pop(-1)
        l_remark.pop(-1)
        l_level.pop(-1)
        l_visit.pop(-1)
        l_score.pop(-1)
        l_rank.pop(-1)


    arti = int(data[1])
    fans = int(data[2])
    like = int(data[3])
    rmak = int(data[4])
    leve = int(data[5])
    visi = int(data[6])
    scor = int(data[7])
    rank = int(data[8])
    l_time.append(time)
    l_article.append(arti)
    l_fans.append(fans)
    l_like.append(like)
    l_remark.append(rmak)
    l_level.append(leve)
    l_visit.append(visi)
    l_score.append(scor)
    l_rank.append(rank)

  # ################
  #    畫圖
  # ################
  # X坐標,將str類型的數(shù)據(jù)轉(zhuǎn)換為datetime.date類型的數(shù)據(jù),作為x坐標
  xs = [datetime.strptime(d, '%Y/%m/%d').date() for d in l_time]

  plt.figure(1)
  plt.subplot(1, 3, 1)
  plt.title('Visit Number')
  plt.plot(xs, l_visit, 'o-')
  plt.xlabel('Time')
  plt.ylabel('Visit Number')

  # 只畫最后一個元素點 - 數(shù)據(jù)點在文字的↘右下,文字在↖左上
  plt.text(xs[-1], l_visit[-1], l_visit[-1], ha='right', va='bottom', fontsize=10)


  plt.subplot(1, 3, 2)
  plt.title('Rank')
  plt.plot(xs, l_rank, 'o-')
  plt.xlabel('Time')
  plt.ylabel('Rank')
  # 只畫最后一個元素點 - 數(shù)據(jù)點在文字的↗右上,文字在↙左下
  plt.text(xs[-1], l_rank[-1], l_rank[-1], ha='right', va='top', fontsize=10)



  plt.subplot(1, 3, 3)
  plt.title('Score')
  plt.plot(xs, l_score, 'o-')
  plt.xlabel('Time')
  plt.ylabel('Score')
  # 只畫最后一個元素點 - 數(shù)據(jù)點在文字的↘右下,文字在↖左上
  plt.text(xs[-1], l_score[-1], l_score[-1], ha='right', va='bottom', fontsize=10)


  plt.gcf().autofmt_xdate() # 自動旋轉(zhuǎn)日期標記

  # show
  plt.show()

3. 分析

主要就是matplotlib.pyplot()可以支持datatime.date類型的變量。

datetime.strptime(str, '%Y/%m/%d').date()

在shell里的運行情況:

In [5]: var = datetime.strptime('2018/3/15', '%Y/%m/%d').date()

In [6]: var
Out[6]: datetime.date(2018, 3, 15)

In [7]: type(var)
Out[7]: datetime.date

所以,源碼中變量xs為含有一群datetime.date變量的list。

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

相關(guān)文章

  • 詳解python之多進程和進程池(Processing庫)

    詳解python之多進程和進程池(Processing庫)

    本篇文章主要介紹了詳解python之多進程和進程池(Processing庫),非常具有實用價值,需要的朋友可以參考下
    2017-06-06
  • Python3并發(fā)寫文件與Python對比

    Python3并發(fā)寫文件與Python對比

    這篇文章主要介紹了Python3并發(fā)寫文件原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • 在?Python?中創(chuàng)建DataFrame的方法

    在?Python?中創(chuàng)建DataFrame的方法

    這篇文章主要介紹了教你如何在?Python?中創(chuàng)建DataFrame,我們將學習以多種方式創(chuàng)建DataFrame,DataFrame是數(shù)據(jù)的二維集合,是一種數(shù)據(jù)結(jié)構(gòu),其中數(shù)據(jù)以表格形式存儲,更多相關(guān)資料需要的小伙伴可以參考一下
    2022-03-03
  • Python中的生成器

    Python中的生成器

    這篇文章主要介紹了Python中的生成器
    2021-12-12
  • python連接讀寫操作redis的完整代碼實例

    python連接讀寫操作redis的完整代碼實例

    這篇文章主要介紹了python連接讀寫操作redis的完整代碼實例,包括redis連接與讀寫操作,redis-sentinel哨兵模式下Python操作redis,redis-cluster(集群)模式下Python操作redis,需要的朋友可以參考下
    2023-01-01
  • python使用cookie庫操保存cookie詳解

    python使用cookie庫操保存cookie詳解

    Python中Cookie模塊(python3中為http.cookies)提供了一個類似字典的特殊對象SimpleCookie,其中存儲并管理著稱為Morsel的cookie值集合,這里介紹了python操作cookie的使用方法
    2014-03-03
  • python opencv實現(xiàn)gif圖片分解的示例代碼

    python opencv實現(xiàn)gif圖片分解的示例代碼

    這篇文章主要介紹了python opencv實現(xiàn)gif圖片分解的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • tensorflow 動態(tài)獲取 BatchSzie 的大小實例

    tensorflow 動態(tài)獲取 BatchSzie 的大小實例

    這篇文章主要介紹了tensorflow 動態(tài)獲取 BatchSzie 的大小實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 10個的常用PyCharm插件(小結(jié))

    10個的常用PyCharm插件(小結(jié))

    本文主要介紹了10個的常用PyCharm插件,包括MaterialThemeUILite、中文語言包、Statistic、JsonParser等,幫助你在提升開發(fā)效率和視覺體驗,感興趣的可以了解一下
    2024-11-11
  • python實戰(zhàn)練習做一個隨機點名的程序

    python實戰(zhàn)練習做一個隨機點名的程序

    讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Python實現(xiàn)一個隨機點名的程序,大家可以在過程中查缺補漏,提升水平
    2021-10-10

最新評論

静宁县| 康马县| 潼南县| 抚远县| 莱芜市| 河津市| 逊克县| 罗定市| 木兰县| 商河县| 靖江市| 广饶县| 东山县| 临海市| 章丘市| 西青区| 通渭县| 石首市| 玉田县| 额尔古纳市| 当雄县| 富川| 鄂温| 昂仁县| 郁南县| 犍为县| 喜德县| 阳信县| 无极县| 周口市| 清涧县| 六安市| 永福县| 新疆| 东源县| 金寨县| 曲麻莱县| 明光市| 凉山| 开封市| 清远市|