欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

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

系統 2038 0

1.效果展示

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

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

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

Python 用matplotlib畫以時間日期為x軸的圖像_第1張圖片

2. 源碼

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

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

            
     原創 粉絲 喜歡 評論 等級 訪問 積分  排名
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__':

  # 打開文本文件 讀取數據
  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)

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

    data = line.split('\t')
    time = data[0]
    # 使用最新日期的數據
    if len(l_time) != 0:
      if time == l_time[-1]:#如果這一行時間與上一行的時間相等,刪除上一行數據
        print('刪除上一行:' + time)
        l_time.pop(-1) #刪除上一行記錄的數據
        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類型的數據轉換為datetime.date類型的數據,作為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')

  # 只畫最后一個元素點 - 數據點在文字的?K右下,文字在?I左上
  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')
  # 只畫最后一個元素點 - 數據點在文字的?J右上,文字在?L左下
  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')
  # 只畫最后一個元素點 - 數據點在文字的?K右下,文字在?I左上
  plt.text(xs[-1], l_score[-1], l_score[-1], ha='right', va='bottom', fontsize=10)


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

  # 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

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


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 99精品国产在热久久 | 亚洲视频在线播放 | 亚洲精品国偷拍自产在线观看蜜桃 | 午夜视频免费 成人 | 日韩 欧美 国产 师生 制服 | 久久亚洲热 | 国内精品一区二区三区最新 | 国产小视频在线观看免费 | 美国av在线免费观看 | 日韩一级欧美一级毛片在线 | 草草线在成年免费视频网站 | 欧美日韩欧美日韩 | 成人在线视频网 | 一区在线观看 | 99精品影视 | 国产精品第一区 | 久久影院2018线观看 | 182tv在线观看国产路线一 | 国产高清在线91福利 | 国产精品美女久久久久久久久久久 | 一级特黄aa大片欧美 | 天天做天天爱夜夜大爽完整 | 老司机免费福利视频无毒午夜 | 久久久久高清 | 国产一区二区不卡 | 国产亚洲精品看片在线观看 | 热伊人99re久久精品最新地 | 999国产一区二区三区四区 | 亚洲国产精品久久 | 成人性爱视频在线观看 | 国产精品岛国久久久久久久 | 天天插天天操 | 91精品国产一区二区三区蜜臀 | 女人被男人狂躁下面在线观看 | 亚洲成人一区 | 日韩视频在线观看免费 | 欧美日韩一区二区三区自拍 | 开心综合 | 日韩美女一区二区三区在线观看 | 国产精品久久福利新婚之夜 | 日韩成人在线视频 |