我用python帮朋友做了张图,结果

↖一个宝藏公众号,长的好看的人都关注了

却发现他是这么拿我当兄弟的

事情的经过是这样的:

我开开心心的去一家烧饼店吃饭

抬头一看,二师兄又涨价了

叹了口气,再这么下去真的要吃不起夹肉的烧饼了

点了两个烧饼一碗馄饨

快吃完的时候,收到了朋友阿东的微信

阿东是我初中同学,好些日子没联系了

眼瞅着他快聊到区块链了,虽然这事不靠谱,但还是答应了阿东帮他做图。

我赶紧吃完最后一口,回公司,决定不午睡了。

开工!

阿东想要这样的图:

折线图嘛,先获取数据吧

正好图片中显示了数据来源:“中国养猪网”

打开官网,找到并跳转到猪价网址 http://zhujia.zhuwang.cc/

F12,Network查看异步请求XHR,成功找到价格接口。

新标签页打开,在线解析Json数据,不了解这块知识的朋友可以点击 在python里玩转Json数据

部分爬虫代码(完整代码见文末下载地址):

1def get_comments(url): 2    doc = get_json(url) 3    dic = {} 4    dic['pigprice'] = doc['pigprice'] 5    dic['pig_in'] = doc['pig_in'] 6    dic['pig_local'] = doc['pig_local'] 7    dic['maizeprice'] = doc['maizeprice'] 8    dic['bean'] = doc['bean'] 9    a = '-'.join(doc['time'][3]) 10    b = time.strftime('%Y-%m-%d',time.localtime(time.time())) 11    print(dateRange(a,b)) 12    dic['time'] = dateRange(a,b) 13    return pd.DataFrame(dic) 14 15data =get_comments('http://zhujia.zhuwang.cc/index/api/chartData?areaId=-1&aa=1571997555296')

运行结果:

成功获取最近一年的各种价格√

下面开始给阿东做折线图:

生猪价格的话选第一个外三元就好了,

使用 matplotlib 轻松可以做出折线图。

1from pylab import mpl 2import  matplotlib.pyplot as plt 3mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体 4mpl.rcParams['axes.unicode_minus'] 5 6plt.figure(figsize=(8,4), dpi=80) 7plt.plot(data['time'],data['pigprice'], color="r",linestyle = "-") 8plt.xticks(data['time'][2::121], rotation=0) 9plt.xlabel("生猪(外三元) 元/公斤")

感觉还差点东西,可以标注一下最新一天的价格

另外既然已经获取了玉米和豆粕的价格,就一起做了吧~

利用 plt.subplot 可以绘制多个子图

1from pylab import mpl 2import  matplotlib.pyplot as plt 3mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体 4mpl.rcParams['axes.unicode_minus'] 5 6plt.figure(figsize=(8,10), dpi=80) 7plt.figure(1) 8ax1 = plt.subplot(311) 9plt.plot(data['time'],data['pigprice'], color="r",linestyle = "-") 10plt.xticks([]) 11plt.annotate(data['pigprice'][365], xy=(data['time'][365], 40), xytext=(data['time'][270], 35), arrowprops=dict(facecolor='black', shrink=0.1, width=0.5)) 12plt.xlabel("生猪(外三元) 元/公斤") 13 14ax2 = plt.subplot(312) 15plt.plot(data['time'],data['maizeprice'],color="y",linestyle = "-") 16plt.xticks([]) 17plt.xlabel("玉米(15%水分) 元/吨") 18 19ax3 = plt.subplot(313) 20plt.plot(data['time'],data['bean'],color="g",linestyle = "-") 21plt.xlabel("豆粕(43%蛋白) 元/吨") 22plt.xticks(data['time'][2::121], rotation=0)

完工,

发给阿东。

却得到这样的回复

原来在他心里是这么定义朋友的啊。

可以,

这很东哥,

这很兄弟。

本文半虚构,如有雷同,那还真是巧了。

作者:朱小五,互联网公司数据分析师,热衷于爬虫,数据分析,可视化,个人公众号《凹凸玩数据》,在沙雕的同时居然还能学到技术。

一键爬取最新猪价&可视化的代码已上传github:

https://github.com/zpw1995/aotodata/tree/master/interest/pig


加入【凹凸玩数据】读者群,请后台回复“加群”~

近期文章:

44万条数据揭秘:如何成为网易云音乐评论区的网红段子手?

破解大众点评的字体加密,这一篇就够了。

用Python爬取b站弹幕,看大家还会接受《爱情公寓5》吗?

我用python算出了同事的身份证号码!

加入【凹凸玩数据】读者群,请后台回复“加群”~

本文转转自微信公众号凹凸数据原创https://mp.weixin.qq.com/s/CGoSAWNDght23RR0CbLfGQ,可扫描二维码进行关注: 如有侵权,请联系删除。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

我用python帮朋友做了张图,结果

↖一个宝藏公众号,长的好看的人都关注了却发现他是这么拿我当兄弟的事情的经过是这样的:我开开心心的去一家烧饼店吃饭抬头一看,二师兄又涨价了叹了口气,再这么下去真的要吃不起夹肉的烧饼了点了两个烧饼一碗馄饨快吃完的时候,收到了朋友阿东的微信阿东是我初中同学,好些日子没联系了眼瞅着他快聊到区块链了,虽然这事不靠谱,但还是

Python3:sqlalchemy对mysql数据库操作,非sql语句

Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''