我用Python帮朋友做了张猪肉数据分析图,结果。。。

 事情的朋友经过是这样的:

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

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

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

点了两个烧饼一碗馄饨

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

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

眼瞅着他快聊到区块链了,图结虽然这事不靠谱,朋友但还是做张猪肉答应了阿东帮他做图。香港云服务器

我赶紧吃完最后一口,数据回公司,分析决定不午睡了。图结

开工!

阿东想要这样的朋友图:

折线图嘛,先获取数据吧

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

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

F12,数据Network查看异步请求XHR,分析成功找到价格接口。图结

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

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

def get_comments(url):     doc = get_json(url)     dic = { }     dic[pigprice] = doc[pigprice]     dic[pig_in] = doc[pig_in]     dic[pig_local] = doc[pig_local]     dic[maizeprice] = doc[maizeprice]     dic[bean] = doc[bean]     a = -.join(doc[time][3])     b = time.strftime(%Y-%m-%d,time.localtime(time.time()))     print(dateRange(a,b))     dic[time] = dateRange(a,b)     return pd.DataFrame(dic) data =get_comments(http://zhujia.zhuwang.cc/index/api/chartData?areaId=-1&aa=1571997555296) 

运行结果:

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

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

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

使用 matplotlib 轻松可以做出折线图。云服务器提供商

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

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

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

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

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

完工,

发给阿东。

却得到这样的回复

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

可以,

这很东哥,

这很兄弟。

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

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

应用开发
上一篇:数据中心网络优化的优秀实践
下一篇:如何知道你是否使用了代理服务器?