温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中pandas绘制可视化图表的方法

发布时间:2020-05-25 17:10:59 来源:亿速云 阅读:653 作者:鸽子 栏目:编程语言

众所周知,Pandas是基于Python平台的大数据分析与处理的利器,它可以把十分复杂的可视化过程,变得简单一点。本文将以2019年世界幸福指数的数据为例,为大家详细展示如何利用pandas绘制可视化图表。相信经过本次手把手教学,大家可以举一反三掌握绘制可视化图表的能力。感兴趣的朋友赶紧来看详细的步骤解析吧!

Python中pandas绘制可视化图表的方法

 

第一步:导入csv文件

 

import pandas as pd

 

df=pd.read_csv(‘./world-happiness-report-2019.csv’)

 

df.head(3)

 

这个csv图标的内容是各个国家按照不同维度评价的幸福指数,数据帧中一些列的名称比较冗长,可以重命名使其更加简洁:

 

df.rename(columns={“Country (region)”: “Country”, “Log of GDPper capita”: “Log_GDP_per_capita”, “Healthy lifeexpectancy”:”Health_life_expect”},inplace=True)

 

df.columns

 

第二步:开始绘制图形

 

我们可以先从简单的柱状图开始,只统计腐败程度、自由度、宽容度、社会支持等几个维度:

 

%matplotlib tk

 

df1=df[:5]

 

df1.plot(‘Country’,[‘Corruption’,’Freedom’,’Generosity’,’Social support’],kind = ‘bar’)

 

嫌直接写名称太麻烦?没关系,我们也可以用所在列的数字来绘制,比如上述4个列分别为7685

 

%matplotlib tk

 

df1=df[:5]

 

df1.plot(‘Country’,[7,6,8,5],kind = ‘bar’)

 

在上面的代码中kind = ‘bar’,所以绘制的图形是柱状图,如果我们把参数改成kind = ‘line’,画出的就是线状图。

 

df1=df[:5]

 

df1.plot(‘Country’,[‘Corruption’,’Freedom’,’Generosity’,’Social support’],kind = ‘line’)

 

第三步:设置坐标轴

 

1)取值范围

 

在绘制可视化图表之前,大家要先设置坐标轴。使用xlimylim两个参数可设置xy轴的范围。在折线图中,我们要将x轴设置为020y限制为从0100

 

df1=df[:20]

 

df1[‘Freedom’].plot(kind=’line’,xlim=(0,20),ylim=(0,100))

 

2xy轴刻度

 

有时候坐标轴上的刻度并不理想,我们希望在上面标上我们喜欢的数值。比如对于x轴,我们想要标0101520几个值;对于y轴,我们想要标上05070100几个值,可以在xticksyticks参数中悉数列出。

 

df[:20][‘Freedom’].plot(kind=’line’,xlim=(0,20),ylim=(0,100),color=’red’,xticks=([0,10,15,20]),yticks=([0,50,70,100]), title = ‘xticks’)

 

3)对数坐标

 

如果数据的跨度范围非常大,横跨好几个数量级,那么用线性坐标就无法很好地展示数据。这时候我们需要用到对数坐标,设置方法是将logx或者logy的值设置为Ture。如果我们只想设置x轴为对数坐标,y轴仍保持线性坐标,那么

 

df[:20][‘Freedom’].plot(kind=’line’,xlim=(0,1000),ylim=(0,100),color=’red’,logx=True)

 

第四步:其他高阶用法

 

可以使用stacked参数来绘制带有条形图的堆叠图。在这里,我们绘制堆叠的水平条,stacked设置为True。将grid参数设置为True,可以给图表加入网格。有了subplot参数还可以绘制子图,根据需要指定行数和列数以及绘图的数量。

 

总的来讲,只要掌握以上的各种参数设置技巧,利用pandas绘制可视化图表也不并困难。光说不练假把式,大家要想快速上手可视化图表,不妨现在就开始尝试着绘制一下吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI