通过这段时间

小帅b教你从抓包开始

到数据爬取

到数据解析

再到数据存储

相信你已经能抓取大部分你想爬取的网站数据了

恭喜恭喜

但是

数据抓取下来

要好好分析一波

最好的方式就是把数据进行可视化

这样才能直观的感受到数据的魅力

不过有一点

现在市面上可以使用 python 的可视化库多如牛毛

各有各的优点

接下来小帅b把自己常用的一些可视化数据库分享给你

好不?

那么

接下来就是

学习 python 的正确姿势

先来说说一个经典的可视化库

matplotlib

它是基于 NumPy 的一个数据可视化工具,内置了非常多图给我们使用

接下来我们就来玩玩吧

首先你得去下载一下这个库

python -m pip install -U pip setuptoolspython -m pip install matplotlib

下载完之后

就可以来玩代码啦

画画sin和cos线

import numpy as npimport  .pyplot as plt
x = np.linspace(-np.pi, np.pi, 256)
cos = np.cos(x)sin = np.sin(x)
plt.plot(x, cos, '--', linewidth=2)plt.plot(x, sin)
plt.show()

画个饼图

# Pie chart, where the slices will be ordered and plotted counter-clockwise:labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'sizes = [15, 30, 45, 10]explode = (0, 0.1, 0, 0)  # only "explode" the 2nd slice (i.e. 'Hogs')
fig1, ax1 = plt.subplots()ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90)ax1.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle.
plt.show()

画画直方图

import numpy as npimport matplotlib.pyplot as plt
np.random.seed(0)
mu = 200sigma = 25x = np.random.normal(mu, sigma, size=100)
fig, (ax0, ax1) = plt.subplots(ncols=2, figsize=(8, 4))
ax0.hist(x, 20, normed=1, histtype='stepfilled', facecolor='g', alpha=0.75)ax0.set_title('stepfilled')
# Create a histogram by providing the bin edges (unequally spaced).bins = [100, 150, 180, 195, 205, 220, 250, 300]ax1.hist(x, bins, normed=1, histtype='bar', rwidth=0.8)ax1.set_title('unequal bins')
fig.tight_layout()plt.show()

更多关于 matplotlib 的文档可以到以下链接查看

https://matplotlib.org/2.0.2/contents.html

seaborn

seaborn 是基于 matplotlib 的库,所以有更加高级的接口给我们使用,相对来说更加简单使用一些

画个散点图

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snssns.set(style="darkgrid")

tips = sns.load_dataset("tips")sns.relplot(x="total_bill", y="tip", data=tips);plt.show()

画个折线图

fmri = sns.load_dataset("fmri")sns.relplot(x="timepoint", y="signal", hue="event", kind="line", data=fmri);plt.show()

画个直方图


titanic = sns.load_dataset("titanic")sns.catplot(x="sex", y="survived", hue="class", kind="bar", data=titanic);plt.show()

更多关于 seaborn 的可以看看以下链接

https://seaborn.pydata.org/index.html

pyecharts

这是基于百度开源的数据可视化的 echarts 的库

echarts 遇上了 python 之后

就像巧克力遇上了音乐

丝滑~

特别是当 pyechart 结合  Notebook 的时候

简直不能在丝滑了

来画个直方图

from pyecharts.charts import Barfrom pyecharts import options as opts
bar = ( Bar() .add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"]) .add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105]) .add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49]) .set_global_opts(title_opts=opts.TitleOpts(title="某商场销售情况")))bar.render()

画个饼图

def pie_base() -> Pie:    c = (        Pie()        .add("", [list(z) for z in zip(Faker.choose(), Faker.values())])        .set_global_opts(title_opts=opts.TitleOpts(title="Pie-基本示例"))        .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))    )    return c
# 需要安装 snapshot_seleniummake_snapshot(driver, pie_base().render(), "pie.png")

再来画个词云图

words = [    ("Sam S Club", 10000),    ("Macys", 6181),    ("Amy Schumer", 4386),    ("Jurassic World", 4055),    ("Charter Communications", 2467),    ("Chick Fil A", 2244),    ("Planet Fitness", 1868),    ("Pitch Perfect", 1484),    ("Express", 1112),    ("Home", 865),    ("Johnny Depp", 847),    ("Lena Dunham", 582),    ("Lewis Hamilton", 555),    ("KXAN", 550),    ("Mary Ellen Mark", 462),    ("Farrah Abraham", 366),    ("Rita Ora", 360),    ("Serena Williams", 282),    ("NCAA baseball tournament", 273),    ("Point Break", 265),]

def wordcloud_base() -> WordCloud: c = ( WordCloud() .add("", words, word_size_range=[20, 100]) .set_global_opts(title_opts=opts.TitleOpts(title="WordCloud-基本示例")) ) return c
# 需要安装 snapshot_seleniummake_snapshot(driver, wordcloud_base().render(), "WordCloud.png")

是不是很丝滑

更多关于 pyecharts 的可以到以下链接看看

https://pyecharts.org

好了

以上就是小帅b常用到的几个可视化数据库

当然

还有很多可视化数据库

不过这几个算是很友好的了

希望对你有用

那么

我们下回见

peace

python爬虫28 | 你爬下的数据不分析一波可就亏了啊,使用python进行数据可视化的更多相关文章

  1. 【转载】教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

    原文:教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http:/ ...

  2. Python爬虫实例:爬取B站《工作细胞》短评——异步加载信息的爬取

    很多网页的信息都是通过异步加载的,本文就举例讨论下此类网页的抓取. <工作细胞>最近比较火,bilibili 上目前的短评已经有17000多条. 先看分析下页面 右边 li 标签中的就是短 ...

  3. Python爬虫实例:爬取猫眼电影——破解字体反爬

    字体反爬 字体反爬也就是自定义字体反爬,通过调用自定义的字体文件来渲染网页中的文字,而网页中的文字不再是文字,而是相应的字体编码,通过复制或者简单的采集是无法采集到编码后的文字内容的. 现在貌似不少网 ...

  4. Python爬虫教程-17-ajax爬取实例(豆瓣电影)

    Python爬虫教程-17-ajax爬取实例(豆瓣电影) ajax: 简单的说,就是一段js代码,通过这段代码,可以让页面发送异步的请求,或者向服务器发送一个东西,即和服务器进行交互 对于ajax: ...

  5. Python爬虫实战之爬取百度贴吧帖子

    大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 本篇目标 对百度贴吧的任意帖子进行抓取 指定是否只抓取楼主发帖 ...

  6. Python爬虫实例:爬取豆瓣Top250

    入门第一个爬虫一般都是爬这个,实在是太简单.用了 requests 和 bs4 库. 1.检查网页元素,提取所需要的信息并保存.这个用 bs4 就可以,前面的文章中已经有详细的用法阐述. 2.找到下一 ...

  7. python爬虫-基础入门-爬取整个网站《2》

    python爬虫-基础入门-爬取整个网站<2> 描述: 开场白已在<python爬虫-基础入门-爬取整个网站<1>>中描述过了,这里不在描述,只附上 python3 ...

  8. python爬虫-基础入门-爬取整个网站《1》

    python爬虫-基础入门-爬取整个网站<1> 描述: 使用环境:python2.7.15 ,开发工具:pycharm,现爬取一个网站页面(http://www.baidu.com)所有数 ...

  9. python爬虫-基础入门-爬取整个网站《3》

    python爬虫-基础入门-爬取整个网站<3> 描述: 前两章粗略的讲述了python2.python3爬取整个网站,这章节简单的记录一下python2.python3的区别 python ...

随机推荐

  1. luogu 3951 小凯的疑惑

    noip2017 D1T1 小凯的疑惑 某zz选手没有看出这道结论题,同时写出了exgcd却不会用,只能打一个哈希表骗了30分 题目大意: 两个互质的正整数a和b,求一个最小的正整数使这个数无法表示为 ...

  2. BZOJ_3171_[Tjoi2013]循环格_最小费用最大流

    BZOJ_3171_[Tjoi2013]循环格_最小费用最大流 Description 一个循环格就是一个矩阵,其中所有元素为箭头,指向相邻四个格子.每个元素有一个坐标(行,列),其中左上角元素坐标为 ...

  3. Tomcat根目录下work文件夹的作用(转载)

    用 tomcat作web服务器的时候,部署的程序在webApps下,这些程序都是编译后的程序.tomcat有一个work目录,里面存放了页面的缓存, 访问的jsp都会编译,编译后的文件都会存储在wor ...

  4. Nginx(一) 安装基于centos7

    1.   nginx介绍 1.1. 什么是nginx Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.由俄罗斯的程序设计师Igor Sysoev所开 ...

  5. DotnetCore(1)尝鲜构建Web应用

    在上篇文章中DotnetCore环境安装完成后,现在我们来尝试构建Web应用. 新建文件夹NetCoreWebDemo,并cd进入NetCoreWebDemo文件夹 同时Ctrl+shift按下快捷键 ...

  6. less新手入门(一) 变量、extend扩展

    前景提要 个人在学习less时候的学习笔记及个人总结,主要是结合less中文网来学习的,但是说是中文网并不是中文呀,看起来很耽误时间,为了避免以后再次看的时候还要翻译思考,特意做此总结,方便以后查阅. ...

  7. [Qt Creator 快速入门] 第9章 国际化、帮助系统和Qt插件

    一.国际化 国际化的英文表述为Internationalization,通常简写为I18N(首尾字母加中间的字符数),一个应用程序的国际化就是使该应用程序可以让其他国家的用户使用的过程. Qt支持现在 ...

  8. 关于java中replace的用法

    今天突然看到Java中的replace有两种方法,一种是直接替换,另一种是可以进行匹配替换的方式: public String replace(CharSequence target, CharSeq ...

  9. [ SDOI 2006 ] 保安站岗

    \(\\\) Description 给出一棵 \(n\) 个节点以 \(1\) 为根的树,一个节点的覆盖半径是 \(1\) ,点有点权 \(val_x\) . 选择一些点,使得点权和最小,同时每个节 ...

  10. FCC 基础JavaScript 练习1

    1.JavaScript中的注释方式有以下两种 // This is an in-line comment. /* This is a multi-line comment */ 2.avaScrip ...