python生成可视化数据(matplotlib)进阶版

简介: 上期我们讲到如何用matplotlib模块将表格里的数据转换成可视化的折线图,但是,这里会有一个问题,表格里的数据是死的,是我随手创建的。在这一期,我将讲解如何通过requests+matplotlib等编写一个真实数据的可视化内容。

 上期我们讲到如何用matplotlib模块将表格里的数据转换成可视化的折线图,但是,这里会有一个问题,表格里的数据是死的,是我随手创建的。在这一期,我将讲解如何通过requests+matplotlib等编写一个真实数据的可视化内容。

今天就来统计一下某网站上作者总榜前20名作者的粉丝数吧

首先,第一步,通过requests模块获取相应的数据

我们先确定我们需要什么数据 1.作者名称   2,作者粉丝数

一,通过fiddler抓包,找到哪个接口有我们想要的数据

image.gif编辑

二,将抓取到的接口通过python进行请求

这一步我们将抓取到的内容通过requets模块请求出来 然后获取数据,我将作者名称作为折线图的x轴,将粉丝数作为y轴。

image.gif

三,将抓取到的数据通过matplotlib模块转换为折线图

我们这里直接将我们获取到的内容传递给我们的matplotlib即可,看下实现代码吧

importrequestsimportmatplotlib.pyplotaspltheaders={
"accept": "application/json, text/plain, */*",
"accept-encoding": "gzip, deflate, br",
"referer": "https://blog.csdn.net/rank/list/total?spm=1001.2014.3001.5476",
"sec-ch-ua": '"Chromium";v="94", "Google Chrome";v="94", ";Not A Brand";v="99"',
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": '"Windows"',
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36"}
a=requests.get(url="https://blog.csdn.net/phoenix/web/blog/all-rank?page=0&pageSize=20",headers=headers)
a.content.decode("utf-8")
x=[]
y=[]
print(a.json())
print(a.json()["data"]["allRankListItem"])
fornina.json()["data"]["allRankListItem"]:  #获取作者名称x.append(n["nickName"])
foriina.json()["data"]["allRankListItem"]:  #获取作者粉丝数y.append(i["fansCount"])
print(x)
print(y)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] =False#解决因为中文导致乱码现象fig=plt.figure(figsize=(30,8))  #由于内容太多 我们把画布放大,这样就不好导致内容太多出现重叠的问题plt.plot(x,y)##将我们解析到的x轴和y轴的内容放在这里,作为参数传递进去就ok啦plt.show()

image.gif

看下实现效果吧

image.gif编辑

可以支持内容放大的

ctrl+鼠标滑轮可以将图放大

image.gif编辑

这里我们可以看到粉丝数最多的是”一个处女座的程序猿“的粉丝数是最多的哦

同时,也可以用柱状图的内容显示,只要更改一个函数内容就行

image.gif编辑

看下柱状图效果吧

image.gif编辑

今天的分享就在这里,我们下次在进行内容进阶吧,欢迎关注哦 我们一起成长学习 拜拜。

相关文章
|
6天前
|
移动开发 数据可视化 数据挖掘
利用Python实现数据可视化:以Matplotlib和Seaborn为例
【10月更文挑战第37天】本文旨在引导读者理解并掌握使用Python进行数据可视化的基本方法。通过深入浅出的介绍,我们将探索如何使用两个流行的库——Matplotlib和Seaborn,来创建引人入胜的图表。文章将通过具体示例展示如何从简单的图表开始,逐步过渡到更复杂的可视化技术,帮助初学者构建起强大的数据呈现能力。
|
10天前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
20 1
|
14天前
|
数据可视化 JavaScript 前端开发
Python中交互式Matplotlib图表
【10月更文挑战第20天】Matplotlib 是 Python 中最常用的绘图库之一,但默认生成的图表是静态的。通过结合 mpld3 库,可以轻松创建交互式图表,提升数据可视化效果。本文介绍了如何使用 mpld3 在 Python 中创建交互式散点图、折线图和直方图,并提供了详细的代码示例和安装方法。通过添加插件,可以实现缩放、平移和鼠标悬停显示数据标签等交互功能。希望本文能帮助读者掌握这一强大工具。
43 5
|
11天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
11天前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
10天前
|
索引 Python
SciPy 空间数据1
SciPy 通过 `scipy.spatial` 模块处理空间数据,如判断点是否在边界内、计算最近点等。三角测量是通过测量角度来确定目标距离的方法。多边形的三角测量可将其分解为多个三角形,用于计算面积。Delaunay 三角剖分是一种常用方法,可以对一系列点进行三角剖分。示例代码展示了如何使用 `Delaunay()` 函数创建三角形并绘制。
20 0
|
10天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第33天】本文将介绍如何使用Python编程语言进行数据分析和可视化。我们将从数据清洗开始,然后进行数据探索性分析,最后使用matplotlib和seaborn库进行数据可视化。通过阅读本文,你将学会如何运用Python进行数据处理和可视化展示。
Python进阶系列(十八)
Python进阶系列(十八)
|
测试技术 Python
Python进阶系列(十七)
Python进阶系列(十七)
|
存储 缓存 Python
Python进阶系列(十六)
Python进阶系列(十六)