利用python绘制数据曲线图的实现

 更新时间:2020年04月09日 14:47:16   作者:无敌阿晨  
这篇文章主要介绍了利用python绘制数据曲线图的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

”在举国上下万众一心、众志成城做好新冠肺炎疫情防控工作的特殊时刻,我们不能亲临主战场,但我们能坚持在大战中坚定信心、不负韶华。“

1、爬取新闻保存为json文件,并将绘图所需数据保存至数据库

数据库表结构:


代码部分:

import pymysql
import re
import sys,urllib,json
from urllib import request
from datetime import datetime
import pandas as pd
Today=datetime.now().strftime(r"%Y-%m-%d")
#Today='2020-02-14'
def pachong():
  url='http://api.tianapi.com/txapi/ncov/index?key=xxx&date={}'.format(Today)
  req = request.Request(url)
  resp = request.urlopen(req)
  content = resp.read().decode()
  data=json.loads(content)
  with open('/Users/zhangyuchen/Desktop/latestTrends.json','w') as fp:#将所得的数据存储为json文件
    json.dump(data,fp = fp,ensure_ascii = False,indent = 4,sort_keys=True)
  #dump函数有很多参数,第一个是目标object,第二个是要写入的文件对象
  print("成功保存为json文件!")
  return(re.findall(r'"confirmedCount":(.+?),"',content),re.findall(r'"currentConfirmedCount":(.+?),"',content),re.findall(r'"curedCount":(.+?),"',content))
def connectMysql(cc): 
  #/usr/local/mysql/bin/mysql -u root -p
  db = pymysql.connect("localhost", "root", "密码", "dbname",charset='utf8' )
  cursor = db.cursor()
  sql="""insert into {0} (DATE,SICK,SICK_NOW,RECOVER)values('{1}','{2}','{3}','{4}')"""
  cursor.execute(sql.format('db1',Today,int(cc[0][0]),int(cc[1][0]),int(cc[2][0])))
  cursor.execute(sql.format('db2',Today,int(cc[0][1]),int(cc[1][1]),int(cc[2][1])))
  db.commit()
  print(("成功将{}数据存入数据库!").format(Today))
  db.close()
cc=pachong()
connectMysql(cc)

json文件:

2、利用matplotlib库函数绘制图表

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import pymysql
import re
import sys, urllib,json
from urllib import request
#/usr/local/mysql/bin/mysql -u root -p
date=[]
cSick=[]
aSick=[]
cNowSick=[]
aNowSick=[]
cRecover=[]
aRecover=[]
db = pymysql.connect("localhost", "root", "密码", "trends")
sql="select * from db1 ORDER BY DATE"
cursor = db.cursor()
cursor.execute(sql)
results = cursor.fetchall()
while results:
  for row in results:
    date.append(row[0].strftime("%d"))
    cSick.append(row[1])
    cNowSick.append(row[2])
    cRecover.append(row[3])
  results=cursor.fetchone()
#查询Abroad Table
sql="select * from db2"
cursor.execute(sql)
results = cursor.fetchall()
while results:
  for row in results:
    aSick.append(row[1])
    aNowSick.append(row[2])
    aRecover.append(row[3])
  results=cursor.fetchone()
cursor.close()
db.close()
def DrawLineChart(ySick,yNowSick):
  plt.plot(x,ySick,color='y',label="Cumulative number of cases",linewidth=3,linestyle="--")
  plt.plot(x,yNowSick,color='r',label="Current number of cases",linewidth=3,linestyle="-")
def DrawBarChart(yRecover):
  width=0.45#柱子宽度
  p2 = plt.bar(x,yRecover,width,label="Cured Count",color="#87CEFA")
Days=len(aSick)
plt.figure(figsize=(16,12), dpi=80)#设置分辨率为80像素/每英寸
x=np.arange(Days)
#创建两个子图
plt.subplot(322)
plt.title("Trends of March")
DrawLineChart(cSick,cNowSick)
DrawBarChart(cRecover)
plt.figlegend()
plt.xticks(x,date)
plt.ylabel('Number')
plt.subplot(324)
#plt.title("Trends of March")
DrawLineChart(aSick,aNowSick)
DrawBarChart(aRecover)
plt.xticks(x,date,rotation=0)
plt.xlabel('Date')
plt.ylabel('Number')
plt.show()

到此这篇关于利用python绘制数据曲线图的实现的文章就介绍到这了,更多相关python 数据曲线图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中socket网络通信是干嘛的

    Python中socket网络通信是干嘛的

    在本篇文章里小编给大家分享的是关于Python中socket网络通信知识点内容,需要的朋友们可以跟着学习下。
    2020-05-05
  • Python深度学习线性代数示例详解

    Python深度学习线性代数示例详解

    这篇文章主要为大家讲解了Python深度学习中线性代数的示例详解有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • Python字典简介以及用法详解

    Python字典简介以及用法详解

    字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
    2016-11-11
  • 浅析Python中yield关键词的作用与用法

    浅析Python中yield关键词的作用与用法

    Python中关键字yield的作用是什么?用来干什么的?这篇文章就给大家详细介绍了Python中yield关键词的作用与用法,文中通过示例代码介绍的很详细,对大家学习python具有一定的参考借鉴价值,有需要的朋友们下面来一起学习学习吧。
    2016-11-11
  • Python Web开发模板引擎优缺点总结

    Python Web开发模板引擎优缺点总结

    这篇文章主要介绍了Python Web开发模板引擎优缺点总结,需要的朋友可以参考下
    2014-05-05
  • Python+Pygame实战之吃豆豆游戏的实现

    Python+Pygame实战之吃豆豆游戏的实现

    这篇文章主要为大家介绍了如何利用Python中的Pygame模块实现仿吃豆豆游戏,文中的示例代码讲解详细,对我们学习Python游戏开发有一定帮助,需要的可以参考一下
    2022-06-06
  • 亲手教你用Python打造一款摸鱼倒计时界面

    亲手教你用Python打造一款摸鱼倒计时界面

    前段时间在微博看到一段摸鱼人的倒计时模板,感觉很有意思,于是我用了一个小时的时间写一个页面出来,下面小编把实现过程分享给大家,对Python摸鱼倒计时界面感兴趣的朋友一起看看吧
    2021-12-12
  • python scipy.spatial.distance 距离计算函数  

    python scipy.spatial.distance 距离计算函数  

    本文主要介绍了python scipy.spatial.distance 距离计算函数,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 关于Python的各种文件操作

    关于Python的各种文件操作

    这篇文章主要介绍了关于Python的各种文件操作,适合刚入门的小白或者对于文件操作基础不太牢固的同学,需要的朋友可以参考下
    2023-04-04
  • python使用pyecharts库画地图数据可视化的实现

    python使用pyecharts库画地图数据可视化的实现

    这篇文章主要介绍了python使用pyecharts库画地图数据可视化的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03

最新评论