时间:2021-05-22
前言
如同艺术家们用绘画让人们更贴切的感知世界,数据可视化也能让人们更直观的传递数据所要表达的信息。
我们今天就分享一下如何用 Python 简单便捷的完成数据可视化。
其实利用 Python 可视化数据并不是很麻烦,因为 Python 中有两个专用于可视化的库 matplotlib 和 seaborn 能让我们很容易的完成任务。
我们用 Python 可以做出哪些可视化图形?
那么这里可能有人就要问了,我们为什么要做数据可视化?比如有下面这个图表:
当然如果你把这张图表丢给别人,他们倒是也能看懂,但无法很直观的理解其中的信息,而且这种形式的图表看上去也比较 low,这个时候我们如果换成直观又美观的可视化图形,不仅能突显逼格,也能让人更容易的看懂数据。
下面我们就用上面这个简单的数据集作为例子,展示用 Python 做出9种可视化效果,并附有相关代码。
导入数据集
import matplotlib.pyplot as pltimport pandas as pddf=pd.read_excel("E:/First.xlsx", "Sheet1")可视化为直方图
fig=plt.figure() #Plots in matplotlib reside within a figure object, use plt.figure to create new figure#Create one or more subplots using add_subplot, because you can't create blank figureax = fig.add_subplot(1,1,1)#Variableax.hist(df['Age'],bins = 7) # Here you can play with number of binsLabels and Titplt.title('Age distribution')plt.xlabel('Age')plt.ylabel('#Employee')plt.show()可视化为箱线图
import matplotlib.pyplot as pltimport pandas as pdfig=plt.figure()ax = fig.add_subplot(1,1,1)#Variableax.boxplot(df['Age'])plt.show()可视化为小提琴图
import seaborn as sns sns.violinplot(df['Age'], df['Gender']) #Variable Plotsns.despine()可视化为条形图
var = df.groupby('Gender').Sales.sum() #grouped sum of sales at Gender levelfig = plt.figure()ax1 = fig.add_subplot(1,1,1)ax1.set_xlabel('Gender')ax1.set_ylabel('Sum of Sales')ax1.set_title("Gender wise Sum of Sales")var.plot(kind='bar')可视化为折线图
var = df.groupby('BMI').Sales.sum()fig = plt.figure()ax1 = fig.add_subplot(1,1,1)ax1.set_xlabel('BMI')ax1.set_ylabel('Sum of Sales')ax1.set_title("BMI wise Sum of Sales")var.plot(kind='line')可视化为堆叠柱状图
var = df.groupby(['BMI','Gender']).Sales.sum()var.unstack().plot(kind='bar',stacked=True, color=['red','blue'], grid=False)可视化为散点图
fig = plt.figure()ax = fig.add_subplot(1,1,1)ax.scatter(df['Age'],df['Sales']) #You can also add more variables here to represent color and size.plt.show()可视化为泡泡图
fig = plt.figure()ax = fig.add_subplot(1,1,1)ax.scatter(df['Age'],df['Sales'], s=df['Income']) # Added third variable income as size of the bubbleplt.show()可视化为饼状图
var=df.groupby(['Gender']).sum().stack()temp=var.unstack()type(temp)x_list = temp['Sales']label_list = temp.indexpyplot.axis("equal") #The pie chart is oval by default. To make it a circle use pyplot.axis("equal")#To show the percentage of each pie slice, pass an output format to the autopctparameter plt.pie(x_list,labels=label_list,autopct="%1.1f%%") plt.title("Pastafarianism expenses")plt.show()可视化为热度图
import numpy as np#Generate a random number, you can refer your data values alsodata = np.random.rand(4,2)rows = list('1234') #rows categoriescolumns = list('MF') #column categoriesfig,ax=plt.subplots()#Advance color controlsax.pcolor(data,cmap=plt.cm.Reds,edgecolors='k')ax.set_xticks(np.arange(0,2)+0.5)ax.set_yticks(np.arange(0,4)+0.5)# Here we position the tick labels for x and y axisax.xaxis.tick_bottom()ax.yaxis.tick_left()#Values against each labelsax.set_xticklabels(columns,minor=False,fontsize=20)ax.set_yticklabels(rows,minor=False,fontsize=20)plt.show()你也可以自己试着根据两个变量比如性别(X 轴)和 BMI(Y 轴)绘出热度图。
结语
本文我们分享了如何利用 Python 及 matplotlib 和 seaborn 库制作出多种多样的可视化图形。通过上面的例子,我们应该可以感受到利用可视化能多么美丽的展示数据。而且和其它语言相比,使用 Python 进行可视化更容易简便一些。
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
参考资料:
https:///blog/2015/05/data-visualization-python/
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言之前我们分享过用Python进行可视化的9种常见方式。其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplot
本项目是利用五年左右的世界地震数据,通过python的pandas库、matplotlib库、basemap库等进行数据可视化,绘制出地震散点图。主要代码如下所
基于python代码的3D地图可视化,供大家参考,具体内容如下介绍使用Python对地图进行3D可视化。以地图为地图,可以在三维空间对轨迹、点进行可视化。库我们
我们用Python进行数据可视化,绘制各种图形时,往往会遇到明明数据都设置对了,但是在图形上显示不出来。例如绘制直方图,程序如下:plt.hist(roll_l
1、pyecharts介绍Echarts是一款由百度公司开发的开源数据可视化JS库,pyecharts是一款使用python调用echarts生成数据可视化的类