Pegasus' Blog
保持一颗好奇心

django使用matplotlib绘统计图

毕业设计需要用matplotlib画图,记录一下学习过程吧。之前已经记录过关于matplotlib的安装和使用。这次将要在django里的views函数中使用。完整的代码在https://github.com/PegasusWang/Physics_web.git,顺便再熟悉下git的使用吧。

###简介
挺简单的一个小项目,首先在安卓端设计登录和注册窗口,以及题目显示Activity,安卓的后台用的是django,获取题目信息用get方法,用django返回json格式的数据。登录和注册用post发送用户名和密码,然后在views函数中验证。用户提交题目答案后,在web端接收后更新数据库,之后用matplotlib绘制答案统计图。

用python的matplotlib库绘制柱状图和饼图

毕业设计有一个需求,有一系列选择题,每个题目有四个选项,现在需要统计每个选项的人数,也就是画出柱状图和饼图。在网上找到了matplotlib这个库,折腾了几个小时,总算把需要的功能实现了。这个库一开始看起来是没有多少头绪的,很多函数也不知道什么意思,我感觉最好的学习方式就是按照需求,找到对应的gallery示例demo,然后按照需求来改,慢慢就知道怎么做了。只是看教程的话会感觉没有头绪,但是还是推荐先看几篇入门教程。

用python画一颗心

毕业设计要用到python的统计和绘图功能,无意间搜索到了这个,还挺有意思的。


###安装matplotlib
首先要安装matplotlib
pip install matplotlib
windows用户可以去官网下载安装。官网看到matpltlib的作者John Hunter (1968-2012)刚去世不久,在此感谢他创造了这样一个强大的绘图工具。


###上代码

python用requests和urllib2两种方式调用图灵机器人接口

最近从网上看见个有意思的图灵机器人,可以根据不同的信息智能回复,比如你发送一个“讲个笑话”,它就会给你回复一个笑话,或者“北京天气”就可以回复天气情况,或者英文单词然后给你回复中文释义。官方文档中有php和java的调用方式,我就弄个python的吧。

###注册获取API KEY
这一步很简单,直接注册一个账号就可以看到你的API KEY。这个KEY我们以后发送get请求的时候需要用到。

你用什么写简历:word?pdf?Latex?Markdown?Html?

闲着没事就说说简历的事情吧,简历一般有很多格式,各有各的优点,不过一份好的简历还是非常具有吸引力的。

####Word简历
Word应该是平常使用最多的,不过不推荐使用word写简历。因为word在不同的平台用不同的office软件打开时显示效果未必相同,万一看你简历的人用的mac或者linux的office软件就可能导致排版变化问题,所以最好还是转成pdf格式比较好。


####Pdf简历
PDF(Portable Document Format的简称,意思「便携式文件格式」)是由Adobe Systems在1993年用於文件交换所发展出的文件格式。Pdf简历的优势在于跨平台,排版固定,使用pdf简历不必担心不同平台打开显示效果不一样的问题(实际上也可能会有,不过机率很小,最近测过n多pdf文件),目前很多浏览器也支持直接打开pdf文件,比较好的pdf软件有adobe reader,foxit等。所以如果你用其他格式的文件写简历,最好转成pdf发过去。


谈谈情,也说说爱

最近看了不少社会心理学的东西,来看看一些社会心理学对于爱情的研究。实际上一开始对于爱情的研究是遭到抵制的,人们认为爱情这种神秘而又美好的东西不应该被拿来研究。但是,随着『泡学』慢慢流行,说明爱情也是讲究方法的。了解一些爱情相关的心理学研究,无论是对于恋人还是单身汪都是有指导意义的。参考:为什么心理学家们对「爱情」的研究会唤起公众的负性情绪?1975年,伯奇德和哈特菲尔德从美国国家科学基金会得到一笔8.4万美金的研究基金,用以研究浪漫爱情。该基金引起了威斯康星州参议员的抗议,他在公告中声明「我反对它不仅因为没有人能证明坠入爱河是一门科学,也不仅因为我确信即是划伤8.4万美金或是840亿美金也无法得到一个所有人的认可的结论,我反对它还因为我根本就不想知道答案……我相信其他2亿美国人都想为生命中有些事情留下一点神秘的色彩,而恰恰我们最不想知道的就是为什么一对男女会坠入爱河……」

django+python微信开发之四-最后的工作:消息服务类实现自动回复机器人

###消息服务类wechatService.py
之前的工作都差不多了,包括配置服务器,三种消息类型封装和对消息的处理(解析xml和转换成xml),最后是要根据不同的消息类型来作出反应了。

django+python微信开发之三-消息处理类

###消息处理类wechatUtil.py
上一篇封装了三种消息类型,wechatMessage.py,wechatEvent.py和wechatReply.py。微信是以xml格式处理信息的,所以要处理xml得到相应的信息。这里用lxml库来处理,先贴上代码再解释:

django+python微信开发之二-封装消息类

###消息的类型
微信开发中有三种消息类型,参考书籍:《微信公众平台应用开发:方法、技巧与案例》

  • 请求消息,指用户发送给公众账号的消息,然后由微信公众账号平台post给你的sae服务器,包括文本消息、图片消息、语音消息、视频消息、地理位置消息和链接消息。
  • 事件,是指用户对公众账号做出某种操作时,微信服务器会将对应的事件推送给公众账号服务器。五类事件分别是关注公众账号、取消关注公众账号、扫描带参数二维码、同意上报地理位置并进入公众账号和点击自定义菜单,这5种操作所对应的事件分别为关注事件、取消关注事件、扫描带参数二维码事件、上报地理位置事件和自定义菜单事件。
  • 响应消息,响应消息是指公众账号回复给用户的消息,响应消息包括文本消息、图片消息、语音消息、视频消息、音乐消息和图文消息。

django+python微信开发之一-WeiPython的准备工作

###准备工作
放假没事做就折腾了下微信开发,采用的是python2.7+django1.4框架。如果您对微信开发有兴趣并且是初学者,希望这几篇文章能够帮助你。你可以参考django-sae微信开发-简单的鹦鹉学舌功能简单了解下大致流程,这片文章只是个简单的例子。以下几篇文章力图将常用的消息、操作等进行封装,形成一个小框架,你只需要实现一个函数即可完成业务功能。
本系列文章采用协议署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN),您可以任意转载共享,但必须保留署名和原文链接,并禁止商业用途。代码采用MIT许可证被授权人有权利使用、复制、修改、合并、出版发行、散布、再授权和/或贩售软体及软体的副本,及授予被供应人同等权利,惟服从以下义务:在软体和软体的所有副本中都必须包含以上版权声明和本许可声明。

  • 知识准备:基础的python和django知识,sae的使用,微信开发文档。我会把我折腾过程中参考的一些教程和书籍列出来帮助你学习,即使你不了解这些东西也不用担心,这些知识只要有基础的编程能力都可以在短短几天之内学会。
  • 能学到什么?包括版本控制工具的使用;开源协议;python和django知识;xml解析写入知识,lxml的应用;简单的http协议等。当然本人也是初学者,有什么问题和错误可以一起讨论,作为一个很小的项目就用来练练手。