亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

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

系統 2171 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條評論
主站蜘蛛池模板: 国产亚洲精品中文带字幕21页 | 999久久免费高清热精品 | 青青青爽视频在线观看 | 久久精品国产只有精品2020 | 久久剧场| 亚洲视频污 | 欧美国产日韩一区二区三区 | 天天做天天看夜夜爽毛片 | 久久国产乱子伦精品免费一 | 久久免费观看国产99精品 | 亚洲视频免费在线观看 | 午夜主播国产福利视频在线 | 奇米最新视频 | 亚洲欧洲国产经精品香蕉网 | 淫视频网站 | 99热精品久久只有精品黑人 | 国产欧美日韩综合二区三区 | 中文字幕精品一区二区三区视频 | 久久国产这里只有精品 | 99热久久这里只有精品首页 | 日韩国产欧美 | 这里只有精品久久 | 在线观看色视频 | 色爱区综合激情五月综合色 | 成人黄色毛片 | 国产一级做a爱片久久毛片a | 一级a做爰片欧欧美毛片4 | 国产精品免费一区二区区 | 国四虎影永久 | 久久这里只有精品免费播放 | 日日日夜夜操 | 亚洲精品91| 黑人巨大vs日本妞 | 欧美性精品不卡在线观看 | 亚洲精品区在线播放一区二区 | 韩毛片 | 日本高清精品 | 四虎精品免费国产成人 | 国产精品久久久久999 | 成人性毛片 | 免费在线激情视频 |