ggplot2柱状图按照数值大小进行排序是比较困难的。这是因为ggplot2考虑的是因子级别的顺序,而不是数据框中观察到的顺序。我们可以使用sort()arrange()对输入数据框进行排序,但是这不会对ggplot2输出产生任何影响(柱状图依旧按照因子的顺序排列)。

本文主要介绍如何让ggplot2的柱状图按照数值大小排序。

阅读全文 »

我们知道,微信的聊天记录是加密的,因而我们不能从文件中直接查看、导出。本文主要介绍如何把聊天记录解密、导出成SQL或csv文件。

阅读全文 »

今天在用Python中的requests包爬数据时,发现了一个很特殊的请求头,其中有:authority:method:path:scheme这几个参数,这些参数说明这个网站用了HTTP2.0。然后我发现我们不能用requests包直接构造请求头进行爬取了。本文简单分析并解决这个问题。

阅读全文 »

本文首先介绍了如何给Ubuntu16.04内置的Python3.5安装pip模块,然后扩展介绍了多版本Python安装对应pip以及对pip对应Python版本进行管理的方法。

阅读全文 »

由于 GitHub Pages 的服务器在国外,国内访问速度可能会非常慢。目前有以下几种解决方案:

  • 博客双线部署在GitHub Pages和Coding Pages上,其中国内流量解析到Coding Pages,国外流量解析到GitHub Pages
    • 优势:无需购买VPS、速度比较快、不用备案
    • 劣势:Coding Pages的服务并不是那么稳定,近期出现多次不能正常部署或访问Pages的问题
  • 博客部署到国内的VPS
    • 优势:速度快
    • 劣势:需要购买VPS、需要备案
  • 博客部署在GitHub Pages上并采用CDN加速
    • 优势:速度快、无需备案、稳定
    • 劣势:CDN比较贵,hhh

本文主要介绍Hexo博客部署在GitHub Pages上并且配置CDN进行加速的方法。

这里我们假设博客已经部署在GitHub Pages并启用了个性域名。如果你还没有绑定个性域名,可以参考这篇教程:GitHub Pages 绑定域名,其中域名服务器修改到DNSPod这部分可以不看,因为这里我们会用Cloudflare来完成域名解析。

阅读全文 »

在数据分析时,我们经常需要看变量之间的相关性,一般采用相关矩阵热力图进行可视化,而ggplot2本身不能直接绘制热图,因此我们需要做数据变换把相关矩阵转换为一个3列的数据框(变量名Var1、变量名Var2、数值value),然后再分别映射给x、y和fill参数,绘制出热力图。

阅读全文 »

我们在用ggplot2的箱型图boxplot()可视化时会发现,部分特别异常的离群点导致箱型图自身被压缩的很扁,而我们一般更关注箱型图本身。因此,我们需要在不影响箱型图自身的分布的同时去除这些离群点

阅读全文 »