Series和DataFrame绘图(很强大)(一)

简介: Series和DataFrame绘图(很强大)(一)

1、说明

 Series与DataFrame类型的对象也支持图形绘制,使用对象的plot方法即可。如果绘图数据就存在Series或者DataFrame对象中,我们就可以直接绘制,而无需使用plt.plot。

 直接使用Series与DataFrame对象的plot方法绘图,有时候会显得特别方便,尤其是绘制一些简单的图形的时候,很nice!

 注意:当利用Series与DataFrame对象的plot方法绘出某个图形后,仍然可以使用matplotlib中的各种绘图参数,来美化自己的图形。



2、Series对象的绘图技巧

1)常用图形绘制

 plot默认绘制的是线形图,但是我们可以通过调整其kind参数的值,来绘制其它不同类型的图形。


① 常用图类型

line:线形图

bar:柱形图

barh:条形图

hist:直方图

kde / density:核密度图

pie:饼图

box:箱线图

area:面积图

② 常用参数

color

alpha

stacked:是否堆叠。

③ 两种语法格式

格式一:s.plot(kind=“图类型”)

举例如下:s.plot(kind=“line”)

格式二:s.plot.图类型()

举例如下:s.plot.line()

操作如下:


s1 = pd.Series([1,3,8,10,12])
s2 = pd.Series([5,2,6,4,8])
s1.plot(kind="line",c="r")
s2.plot.line(c="b")
# 可以看到,我们仍然可以调用matplotlib的其他绘图参数,完善自己的图形。
plt.legend(["2016","2017"],loc="best")


结果如下:

image.png


2)案例操作

① 绘制折线图

s1 = pd.Series([5,2,6,4,8])
s1.plot(kind="line",c="r")


结果如下:

image.png


② 绘制柱形图(又叫条形图)

s1 = pd.Series([5,2,6,4,8])
s1.plot.bar(color="b")
# 当没有这句代码时,横坐标是“睡着”的,因此调整一下横坐标标签的方向。
plt.xticks(rotation=360)


结果如下:

image.png


③ 绘制水平柱形图(条形图)

s1 = pd.Series([5,2,6,4,8])
s1.plot.barh(color="g")


结果如下:

image.png


④ 绘制直方图

s1 = pd.Series([5,2,6,4,8,5,2,7,4,6,1,8,4,6,3,8,2,6,4,8,5,2,7])
s1.plot.hist(color="m")


结果如下:

image.png


⑤ 绘制核密度图

s1 = pd.Series([5,2,6,4,8,5,2,7,4,6,1,8,4,6,3,8,2,6,4,8,5,2,7])
s1.plot(kind="kde",color="r")


结果如下:

image.png


⑥ 绘制饼图

s1 = pd.Series([1,1,2,2,3])
# 求出Series中每个元素的占比
s1 = s1.value_counts()/s1.shape
display(s1)
s1.plot(kind="pie")
plt.axis("equal")


结果如下:

image.png


⑦ 绘制箱线图

s1 = pd.Series([5,2,6,4,8,5,2,7,4,6,1,8,4,6,3,8,2,4,8,5,2,7])
s1.plot(kind="box",color="r")


结果如下:

image.png

相关文章
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by='A', ascending=False)`。`rank()`函数用于计算排名,如`df['A'].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`和分别对'A'、'B'列排名。
379 2
|
数据采集 机器学习/深度学习 数据挖掘
python数据分析——数据预处理
数据预处理是数据分析过程中不可或缺的一环,它的目的是为了使原始数据更加规整、清晰,以便于后续的数据分析和建模工作。在Python数据分析中,数据预处理通常包括数据清洗、数据转换和数据特征工程等步骤。
541 0
|
数据采集 算法 数据挖掘
【数据挖掘】数据变换与离散化讲解与实战(超详细 附源码)
【数据挖掘】数据变换与离散化讲解与实战(超详细 附源码)
490 0
|
JSON 小程序 JavaScript
微信小程序 wx:if wx:elif wx:else 多条件判断
微信小程序 wx:if wx:elif wx:else 多条件判断
282 0
|
10月前
|
人工智能 自然语言处理 前端开发
Lobe Vidol:AI数字人交互平台,可与虚拟人和3D模型聊天互动
Lobe Vidol是一款开源的AI数字人交互平台,允许用户创建和互动自己的虚拟偶像。该平台提供流畅的对话体验、丰富的动作姿势库、优雅的用户界面设计以及多种技术支持,如文本到语音和语音到文本技术。Lobe Vidol适用于娱乐互动、在线教育、客户服务、品牌营销和社交媒体等多个应用场景。
590 7
Lobe Vidol:AI数字人交互平台,可与虚拟人和3D模型聊天互动
|
6月前
|
算法 Java Python
使用Python来绘制樱花树
本文以林徽因的《你是人间的四月天》为引,将春日意象与现代职场编程艺术结合,通过Python的Turtle模块绘制分形树和花瓣图案。文章详细解析了Turtle模块的使用方法、递归算法及随机性在图形生成中的应用,展示了如何用代码创造自然美感。核心代码包含tree函数(绘制分形树)和petal函数(绘制花瓣),最终生成一幅生动的春日画卷。项目不仅帮助读者掌握Turtle绘图技巧,更激发对编程艺术的兴趣,鼓励探索数字世界的无限可能。
159 5
|
NoSQL Redis 数据库
12)Redis 的游标迭代器(scan)
12)Redis 的游标迭代器(scan)
218 1
|
数据可视化 数据挖掘 Python
【Python DataFrame专栏】DataFrame的可视化探索:使用matplotlib和seaborn
【5月更文挑战第20天】本文介绍了使用Python的pandas、matplotlib和seaborn库进行数据可视化的步骤,包括创建示例数据集、绘制折线图、柱状图、散点图、热力图、箱线图、小提琴图和饼图。这些图表有助于直观理解数据分布、关系和趋势,适用于数据分析中的探索性研究。
397 1
【Python DataFrame专栏】DataFrame的可视化探索:使用matplotlib和seaborn
|
关系型数据库 MySQL 中间件
【MySQL实战笔记】07 | 行锁功过:怎么减少行锁对性能的影响?-02 死锁和死锁检测
【4月更文挑战第19天】在高并发环境下,死锁发生在多个线程间循环等待资源时,导致无限期等待。MySQL中,死锁可通过`innodb_lock_wait_timeout`参数设置超时或`innodb_deadlock_detect`开启死锁检测来解决。默认的50s超时可能不适用于在线服务,而频繁检测会消耗大量CPU。应对热点行更新引发的性能问题,可以暂时关闭死锁检测(风险是产生大量超时),控制并发度,或通过分散记录减少锁冲突,例如将数据分拆到多行以降低死锁概率。
373 1
|
存储 安全 网络安全
Git 安全远程访问:SSH 密钥对生成、添加和连接步骤解析
SSH(Secure Shell)是一种用于安全远程访问的协议,它提供了加密通信和身份验证机制。在使用 SSH 连接到远程 Git 存储库时,您可以使用 SSH 密钥对来确保安全性。以下是关于如何生成和使用 SSH 密钥对的详细步骤: 生成 SSH 密钥对
771 2