事情是这样的:我兴高采烈的去了一家烧饼店吃饭,抬头一看,二师兄又涨价了,感叹,再这样下去,我真的吃不起肉馅烧饼了蛋糕快吃完两个煎饼和一碗馄饨的时候,收到好友阿东发来的微信。阿东是我初中的同学。我已经很久没有联系他了。我看他要讲区块链。虽然这件事不靠谱,但他还是答应了阿冬帮他做图。我赶紧吃完最后一口,回到公司,决定不睡午觉了。让我们开始工作吧!阿东想要这样的图:折线图,我们先把数据拿来。数据来源如图:“中国养猪网”打开官网,找到并跳转到猪价网站http://zhujia.zhuwang.cc/F12,网络查看异步请求XHR,成功找到价格界面。打开新标签页,在线分析Json数据。不懂这方面知识的朋友可以点击玩转python爬虫代码Json数据部分(完整代码见文末下载地址):defget_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)returnpd.DataFrame(dic)data=get_comments('http://zhujia.zhuwang.cc/index/api/chartData?areaId=-1&aa=1571997555296')运行结果:成功获取了去年的各种价格√下面开始给阿东做折线图:选择第一个一个针对生猪价格的外三元就可以了,用matplotlib做折线图很简单。frompylabimportmplimportmatplotlib.pyplotaspltmpl.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("猪(外三元)元/kg")感觉还是少了点什么。您可以标记最近一天的价格。另外,既然已经得到了玉米豆粕的价格,那就一起来吧~使用plt.subplot可以绘制多个子图pylabimportmplimportmatplotlib.pyplotaspltmpl.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("猪(外三元)元/kg")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
