可视化之用pandas绘制简单的图形

pandas 常见绘图总结 pandas 常见绘图总结 文章目录pandas 常见绘图总结前言一 设置字体和显示中文二 pandas 可视化(0.25.3版本)1 线形图2 条形图2.1 垂直条形图2.2 水平条形图3 饼图4 散点图4.1 普通散点图4.2 气泡图5 面积图6 箱线图7 直方图8 核密度曲线9 hexbin(六边形图) 前言 pandas的强大让人毋庸置疑,一个集数据审阅、处理、分析、可视化于一身的工具,非... 阅读详情

0. 简介

python中常用的绘图库除了matplotlib、seaborn之外,数据处理库pandas也能画图,本文就主要介绍如何使用pandas画图。

pandas主要是通过 pandas.DataFrame.plot() 来完成绘图,因此我们先来了解此函数的各个参数,然后通过实例进行演示。

1. pandas.DataFrame.plot()参数

官方文档

详解

参数:

DataFrame.plot(data, x=None, y=None, kind='line', ax=None, subplots=False, 
                sharex=None, sharey=False, layout=None,figsize=None, 
                use_index=True, title=None, grid=None, legend=True, 
                style=None, logx=False, logy=False, loglog=False, 
                xticks=None, yticks=None, xlim=None, ylim=None, rot=None,
                xerr=None,secondary_y=False, sort_columns=False, include_bool=False, **kwds)

解释:

总体相关参数

Parameters:
data: series或DataFrame格式 #可以通过pd.DataFrame.plot(data)调用,也可以通过data.plot(),此时就不需要传入data参数。

x : label or position, default None # x轴的数据,只有当数据为DataFrame才传入,可以是列名或列的位置,不传入的话,默认是DataFrame的索引

y : label or position, default None # y轴的数据,只有当数据为DataFrame才传入,可以是列名或列的位置,不传入的话,默认是DataFrame的所有列

kind : str # 绘制图形的种类
‘line’ : line plot (default)#折线图
‘bar’ : vertical bar plot#条形图
‘barh’ : horizontal bar plot#横向条形图
‘hist’ : histogram#直方图
‘box’ : boxplot#箱线图
‘kde’ : Kernel Density Estimation plot#Kernel 的密度估计图,主要对柱状图添加Kernel 概率密度线
‘density’ : same as ‘kde’
‘area’ : area plot#不了解此图
‘pie’ : pie plot#饼图
‘scatter’ : scatter plot#散点图,只有数据为DataFrame格式才能传入此参数
‘hexbin’ : hexbin plot#不了解此图,只有数据为DataFrame格式才能传入此参数

子图相关参数

ax : matplotlib axes object, default None # An axes(轴) of the current figure**子图(axes, 也可以理解成坐标轴) 要在其上进行绘制的matplotlib subplot对象。如果没有设置,则使用当前matplotlib subplot**其中,变量和函数通过改变figure和axes中的元素(例如:title,label,点和线等等)一起描述figure和axes,也就是在画布上绘图。

subplots : boolean, default False # Make separate subplots for each column,就是说当设置subplots=True时,会为每列制作单独的子图

sharex : boolean, default True if ax is None else False # 如果有子图,子图共x轴刻度、标签

sharey : boolean, default False#如果有子图,子图共y轴刻度,标签

layout : tuple (optional) # (rows, columns) for the layout of subplots,子图的行列布局

图片相关参数

figsize : a tuple (width, height) in inches # 图片尺寸大小

use_index : boolean, default True # Use index as ticks for x axis,默认用索引做x轴

title : str or list # 标题。如果传入了list而且subplots=True,为每个子图设置标题

grid : boolean, default None (matlab style default) #图片是否有网格

legend : #子图的图例,添加一个subplot图例(默认为True)

style : list or dict # The matplotlib line style per column,每列图线的类型

x, y轴相关设置

logx : bool or ‘sym’, default False # Use log scaling or symlog scaling on x axis,设置x轴刻度是否取对数或symlog(定义一个接近零的值范围,在该范围内绘图是线性的,以避免使绘图趋于零附近的无穷大。)

logy : bool or ‘sym’, default False # Use log scaling or symlog scaling on y axis

loglog : bool or ‘sym’, default False#同时设置x,y轴刻度是否取对数

xticks : sequence # Values to use for the xticks,设置x轴刻度值,序列形式(比如列表)

yticks : sequence # Values to use for the yticks,设置y轴刻度,序列形式(比如列表)

xlim : 2-tuple/list # 设置坐标轴的范围,列表或元组形式

ylim : 2-tuple/list # 设置坐标轴的范围,列表或元组形式

xlabel: label, optional # 用于x轴上的xlabel的名称。默认情况下,将索引名称或用于x轴的列名用作xlabel

ylabel: label, optional # 用于y轴上的xlabel的名称。默认情况下,没有索引名称,而是通过legend的形式展示名称

rot : int, default None # Rotation for ticks (xticks for vertical, yticks for horizontal plots), 设置轴标签(轴刻度)的显示旋转度数

fontsize : int, default None # Font size for xticks and yticks,设置轴刻度的字体大小

区域设置

colormap : str or matplotlib colormap object, default None # Colormap to select colors from. If string, load colormap with that name from matplotlib,设置图的区域颜色

colorbar : boolean, optional  # If True, plot colorbar (only relevant for ‘scatter’ and ‘hexbin’ plots) ???

position : float   # Specify relative alignments for bar plot layout. From 0 (left/bottom-end) to 1 (right/top-end). Default is 0.5 (center)

table : boolean, Series or DataFrame, default False  # 如果为正,则选择DataFrame类型的数据并且转换匹配matplotlib的布局。
# If True, draw a table using the data in the DataFrame and the data will be transposed to meet matplotlib’s default layout. If a Series or DataFrame is passed, use passed data to draw a table.

yerr : DataFrame, Series, array-like, dict and str # ???

xerr : same types as yerr. # ???

stacked : boolean, default False in line and bar plots, and True in area plot. #If True, create stacked plot.如果设为真,则为堆叠图,常见于条形图

sort_columns : boolean, default False  # 以字母表顺序绘制各列,默认使用前列顺序

secondary_y : boolean or sequence, default False  # Whether to plot on the secondary y-axis If a list/tuple, which columns to plot on secondary y-axis, 设置第二个y轴(右y轴)

mark_right : boolean, default True # When using a secondary_y axis, automatically mark the column labels with “(right)” in the legend

include_bool: bool, default is False # If True, boolean values can be plotted

Returns:axes : matplotlib.AxesSubplot or np.array of them

2. 演示

2.1 各种图

参考pandas 常见绘图总结

test_dict = {'销售量':[1000,2000,5000,2000,4000,3000],'收藏':[1500,2300,3500,2400,1900,3000]}
data = pd.DataFrame(test_dict,index=['一月','二月','三月','四月','五月','六月'])
data
       销售量	收藏
一月	1000	1500
二月	2000	2300
三月	5000	3500
四月	2000	2400
五月	4000	1900
六月	3000	3000
2.1.1 折线图

普通折线图以折线的上升或下降来表示统计数量的增减变化的统计图,叫作折线统计图。折线统计图不仅可以表示数量的多少,而且可以反映同一事物在不同时间里的发展变化的情况,虽然它不直接给出精确的数据(当然你也可以加上去),但是能够显示数据的变化趋势,反映事物的变化情况。

data.plot(kind='line')

在这里插入图片描述

2.1.2 条形图

条形统计图可以清楚地表明各种数量的多少。
普通条形图:

data.plot(kind='bar')

在这里插入图片描述
堆积条形图:

data.plot(kind='bar', stacked=True)

在这里插入图片描述

2.1.3 横向条形图
data.plot(kind='barh')

在这里插入图片描述

2.1.4 直方图

直方图是数值数据分布的精确图形表示,这是一个连续变量(定量变量)的概率分布的估计

test_dict2 = {'泊松分布':np.random.poisson(50,100),'贝塔分布':np.random.beta(5,1,100)*40}
data2 = pd.DataFrame(test_dict2)
data2
 泊松分布 贝塔分布
0	40	38.001607
1	50	36.588124
2	53	36.325921
3	49	37.138868
4	59	38.503662
...	...	...
95	52	21.731441
96	48	37.274649
97	59	35.666431
98	60	30.777406
99	50	24.558308

100 rows × 2 columns
data2.plot(kind='hist', subplots=True, bins=20, sharex=False, layout=(1,2))

在这里插入图片描述

2.1.5 箱线图
data.plot(kind='box')

在这里插入图片描述

2.1.6 核密度图
data2.plot(kind='kde', subplots=True, grid=True)

在这里插入图片描述

2.1.7 饼图
data.plot(kind='pie', subplots=True,figsize=(10, 8),autopct='%.2f%%',radius = 1.2,startangle = 250,legend=False,colormap='viridis')

在这里插入图片描述
此处有一些特殊的参数:

figsize # 图片的大小。
autopct # 显示百分比。
radius # 圆的半径。
startangle # 旋转角度。
colormap # 颜色。
2.1.8 散点图
data.plot(kind='scatter', x=0, y=1)

在这里插入图片描述

2.2 x轴ticks方向设置

设置rot=0,则将ticks方向设置为水平

data.plot(kind='bar', rot=0)

在这里插入图片描述

[Python从零到壹] 十七.可视化分析之Matplotlib、Pandas、Echarts入门万字详解 前一篇文章讲述了数据预处理、Jieba分词和文本聚类知识,这篇文章主要介绍Matplotlib和Pandas扩展包绘图的基础用法,同时引入Echarts技术,该技术主要应用于网站可视化展示中。本文内容以实例为主,给读者最直观的图形感受。两万字基础文章,希望对您有所帮助。 阅读详情

相关推荐

CIC-IDS数据集特征介绍

###1、简介 通信安全机构(CSE)与加拿大网络安全研究所(CIC)合作项目,该项目对自1998年以来现有的11个数据集的评估表明,大多数数据集(比如经典的KDDCUP99,NSLKDD等)已经过时且不可靠。其中一些数据集缺乏流量多样性和容量,一些数据集没有涵盖各种已知的攻击,而另一些数据集将数据包有效载荷数据匿名化,这不能反映当前的趋势。有些还缺少特征集和元数据。 CIC-IDS-2017数据集包含良性和最新的常见攻击,类似真实世界数据(PCAPs)。 它的数据采集截至2017...

蓝亚之舟的博客 3万+

pandas 绘图 (今天总结的有点多)

Pandas绘图 Pandas数据可视化简介 pandas库是Python数据分析的核心库 它不仅可以加载和转换数据,还可以做更多的事情:它还可以可视化 pandas绘图API简单易用,是pandas流行的重要原因之一 Pandas 单变量可视化 单变量可视化, 包括条形图、折线图、直方图、饼图等 数据使用葡萄酒评论数据集, 来自葡萄酒爱好者杂志(wineEnthusiast),包含10个字段,150929行,每一行代表一款葡萄酒 字段名 字.

weixin_43737594的博客 6790

计算机技术发展5大阶段,现阶段计算机技术应用及发展

【摘要】现代计算机科学技术的发展和普及运用,为世界各国民众基础性生产生活实践活动的组织开展路径造成了深刻影响,本文围绕现阶段计算机技术应用及发展,择取两个具体方面,展开了简要分析。【关键词】计算机技术;应用;发展改革开放以来,计算机设备的广泛运用,促进了计算机科学技术的逐步发展成熟。计算机科学技术是具备新兴表现特征的尖端应用技术,其在现代工业生产和社会生活实践活动过程中的广泛引入运用,给世界各国基...

weixin_42126677的博客 2637

Pandas高级教程之:plot画图详解

python中matplotlib是非常重要并且方便的图形化工具,使用matplotlib可以可视化的进行数据分析,今天本文将会详细讲解Pandas中的matplotlib应用。

程序那些事 1万+

ComfyUI实战:AnimateDiff与ControlNet结合,打造无缝风格化视频转绘

本文详细介绍了如何利用ComfyUI平台,结合AnimateDiff与ControlNet插件,实现高质量的视频风格化转绘。通过搭建节点工作流、调整关键参数,有效解决画面闪烁与失真问题,并分享了进阶玩法与常见问题解决方案,帮助用户轻松打造流畅、风格统一的动态视觉效果。

weixin_29039773的博客 334

14 Prompt 的边界:什么时候必须用 RAG 或微调

Prompt 不是万能解法。本文用“改输入、补知识、改模型”这条主线,讲清什么时候继续优化 Prompt,什么时候必须引入 RAG、工具调用或微调,帮助你避免用重技术掩盖轻问题。

老于的笔记的专栏 209

pandas数据分析之数据绘图

一图胜千言,将信息可视化(绘图)是数据分析中最重要的工作之一。它除了让人们对数据更加直观以外,还可以帮助我们找出异常值、必要的数据转换、得出有关模型的想法等等。pandas 在数据分析、数据可视化方面有着较为广泛的应用。本文将通过实例介绍pandas的数据绘图。pandas的数据可视化依赖于matplotlib模块的pyplot类,matplotlib在安装Pandas会自动安装。Matplotlib可以对图形做细节控制,绘制出出版质量级别的图形,通过Matplotlib,可以简单地绘制出常用的统计图形。

白帽阿叁的博客 3360

Python爬虫反爬:突破Cloudflare 5秒盾(免费方案,小红书/知乎可用)

这套方案的核心优势是“真实模拟+免费无门槛”无需付费代理、无需复杂JS解密,仅用playwright模拟真实浏览器,即可突破Cloudflare 5秒盾;适配小红书、知乎、豆瓣等主流平台,修改配置即可复用;兼顾易用性和稳定性,新手也能快速上手,企业级场景可通过IP轮换、异步爬取进一步优化。“模拟人类行为到底”——Cloudflare的反爬本质是区分“机器”和“人类”,只要爬虫的浏览器指纹、行为特征与人类一致,就能稳定绕过限制。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2880

23_Pandas绘图操作大揭秘

解锁数据魔法,Pandas绘图让你秒变数据界的毕加索!不再让冰冷数字沉睡,Pandas神器一挥,数据图表跃然屏上,笑料与洞见齐飞!无论是趋势追踪的侦探游戏,还是数据颜值的逆天改命,一图在手,天下我有。快来,和我们一起,让数据分析变得既烧脑又爆笑吧!

在科技的浪潮中,我们寻找着创新的火种,在代码的海洋里,我们编织着智慧的网。腾飞开源,就是这样一个由技术精英汇聚而成的博客平台,我们致力于分享在Java、Python、IoT和人工智能等领域的最新研究成果和实战经验。 在腾飞开源的博客上,你会看到紧跟技术前 1695

TVS 管击穿电压与钳位电压的工程解析

TVS二极管的核心参数击穿电压(VBR)和钳位电压(VC)常被混淆,但二者具有本质区别。VBR是

硬核科技 477

【MATLAB代码】TDOA+TOA融合算法,高精度定位。通过多边定位解算4个锚点、平面目标的位置,附代码

二维平面下的TOA、TDOA及混合定位算法,通过4个锚节点对目标点进行定位。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 210

可视化第一部分(简单的图形)

EDA之数据的可视化          自己也没想到可视化拖了这么久,有些python包真的很强大,但学起来也很复杂,挺有难度的。所以我打算从我们经常遇到的数据框角度出发来做数据的可视化。        一、pandas的可视化 这种操作可以完成一些简单的可视化,可以直接传入kind类型或者直接在plot.后面加入需要的画图类型,传入需要的参数,对于数据框,散点图需要传入x,y,箱线图直接...

聊伟的博客 2316

互联网的发展简史—web

互联网是我现在生活所离不开的一个东西,但是你知道互联网的前世今生吗?本文将讲解互联网的发展史,以及很火的元宇宙概念。

yj11290301的博客 3561

Python动态可视化Cufflinks

就像seaborn封装了matplotlib一样,cufflinks在plotly的基础上做了一进一步的包装,方法统一,参数配置简单。其次它还可以结合pandas的dataframe随意灵活地画图。可以把它形容为"pandas like visualization"。

小麦粒的Python 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Matplotlib-利用pandas进行数据分析并作可视化展示一、简单的绘图展示二、绘制柱状图三、共用坐标轴绘制两种不同类型的图四、pandas导入excel数据并绘制频率分布直方图五、绘制箱线图

一、简单的绘图展示 二、绘制柱状图 三、共用坐标轴绘制两种不同类型的图 四、pandas导入excel数据并绘制频率分布直方图 五、绘制箱线图 * 一、简单的绘图展示 randomList = np.random.randn(10).cumsum() randomList #结果 ''' array([ 0.43692622, -0.17404988, 0.8479853 ,...

marraybug的博客 671

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

最炫python表白代码_Python一行代码搞定炫酷可视化,就用这个工具!

学过Python数据分析的朋友都知道,在可视化的工具中,有很多优秀的三方库,比如matplotlib,seaborn,plotly,Boken,pyecharts等等。这些可视化库都有自己的特点,在实际应用中也广为大家使用。plotly、Boken等都是交互式的可视化工具,结合Jupyter notebook可以非常灵活方便地展现分析后的结果。虽然做出的效果非常的炫酷,比如plotly,但是每一次...

weixin_39959482的博客 970

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

使用matplotlib可视化dataframe:让你的数据更生动有趣

在数据分析和可视化领域,matplotlib是一个非常强大的工具。它可以帮助将数据以图形的形式展示出来,使得数据更加直观、易于理解。本文将介绍如何使用matplotlib来可视化pandas中的DataFrame对象。

木头大左的博客 1193

数据处理与可视化(第二部分:数据可视化-基础篇)

本文对比了pandas和matplotlib两种Python数据可视化工具。pandas绘图作为matplotlib的高级封装,专为DataFrame设计,语法简洁但定制性较弱;matplotlib作为底层引擎功能强大但操作复杂。文章详细介绍了两种工具绘制柱状图、折线图、饼图和散点图的方法与参数说明,并展示了pandas特有的直方图和箱线图绘制方式。通过具体代码示例,演示了两种工具在数据可视化中的不同应用场景和操作差异,为使用者提供了实用参考。

website_ren的博客 1131

利用可视化神器 Plotly 绘制酷炫图表

大家好,我是辰哥~【数据分析离不开数据可视化】,我们最常用的就是pandas,matplotlib,pyecharts当然还有Tableau,看到一篇文章介绍plotly制图后我也跃跃欲试...

公众号:Python研究者 572

python 交互式可视化库_制作交互式数据可视化图表,只需要一个Python库就能实现!...

学习Python是做数分析的最基础的一步,数据分析离不开数据可视化。Python第三方库中我们最常用的可视化库是 pandas,matplotlib,pyecharts, 当然还有 Tableau,另外最近在学习过程中发现另一款可视化神器-Plotly,它是一款用来做数据分析和可视化的在线平台,功能非常强大, 可以在线绘制很多图形比如条形图、散点图、饼图、直方图等等。除此之外,它还支持在线编辑,以...

weixin_39983427的博客 219

太强大了!一款可以像操作Excel一样玩Pandas的可视化神器来了!

来源:程序员Github大家好,我是Stitin涛哥!Pandas这个库对Python来说太重要啦!因为它的出现,让Python进行数据分析如虎添翼,作为Python里面最最牛逼的库之一,...

涛哥聊Python 854

Python奇淫技巧,5个数据可视化工具_import vega_datasets notebook vega

Plotly基于plotly.js,而plotly.js又基于D3.js,因此它是一个高级图表库,与Bokeh一样,Plotly的 强项是制作交互式图 ,有超过30种图表类型, 提供了一些在大多数库中没有的图表 ,如等高线图、树状图、科学图表、统计图表、3D图表、金融图表等。您也可以在他们的网站上在线使用它,但我更喜欢离线使用它,您也可以将可视化保存为图像,非常易于使用也非常实用。声明意味着只需要提供数据列与编码通道之间的链接,例如x轴,y轴,颜色等,其余的绘图细节它会自动处理。您可以根据需要自定义它。

2501_90403950的博客 1639

输入5个整形数据_比 Matplotlib Seaborn 更酷的 5 个数据可视化工具

源 /程序君 & 小象编 /昱良说起 Python 数据可视化工具,用得最多的就是 Matplotlib、Seaborn 、Bokeh这些。其实,Python 还有有许多令人惊叹的可视化库,而且通用化程度已经很高,比如下面这五个:PlotlyCufflinksFoliumAltair + VegaD3.js(个人认为最好的选择,因为我也用JS写代码)如果你之前没有用过,甚...

weixin_39573981的博客 227

Python奇淫技巧,5个数据可视化工具

数据可视化的工具和程序库已经极大丰盛,当你习惯其中一种或数种时,你会干得很出色,但是如果你因此而沾沾自喜,就会错失从青铜到王者的新工具和程序库。如果你仍然坚持使用Matplotlib(这太神奇了),Seaborn(这也很神奇),Pandas(基本,简单的可视化)和Bokeh,那么你真的需要停下来了解一下新事物了。例如,python中有许多令人惊叹的可视化库,而且通用化程度已经很高,例如下面这五个:...

python学习者的博客 723

seaborn-数据可视化

#pip install git+https://github.com/mwaskom/seaborn.git #!/usr/bin/env python # coding: utf-8 # # Seaborn # ## 简介 # ### 定义 # In[ ]: ''' Seaborn是一个基于matplotlib且数据结构与pandas统一的统计图制作库。 Seaborn框架旨在以数据可视化为中心来挖掘与理解数据。 ''' # ### 优点 # In[ ]: ''' 1.代码较少

左手coding,右手cooking 239
上一篇: 可视化之基础设置
下一篇: pandas之分箱操作
米法·
博客等级 码龄8年 179粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值