python画图库哪个好_python常见的十种可视化图库方法展示

一 散点图

# python可视化操作

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns

# 数据准备

N=1000

x = np.random.randn(N)

y = np.random.randn(N)

# 用matplotlib画散点图

plt.scatter(x,y,marker="x")

# 用seaborn画散点图

data = {

'x':x,

"y":y

}

df = pd.DataFrame(data)

sns.jointplot(x='x',y='y',data=df,kind='scatter')

二 折线图

# python可视化折线图

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns

# 数据准备

x = [2010,2011,2012,2013,2014,2015,2016,2017,2018,2019]

y=[5,3,6,20,17,16,19,30,32,35]

# matplotlib

plt.plot(x,y)

# seaborn

data= {

'x':x,

'y':y

}

df = pd.DataFrame(data)

sns.lineplot(x='x',y='y',data=df)

三 直方图

# matplotlib直方图

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns

# 数据准备

a = np.random.randn(100)

s = pd.Series(a)

# matplotlib

plt.hist(s)

# seaborn

sns.distplot(s,kde=False)

sns.distplot(s,kde=True)

四 条形图

# 条形图

import matplotlib.pyplot as plt

import seaborn as sns

# 数据准备

x = ['cat1','cat2','cat3','cat4','cat5']

y= [5,4,8,12,7]

# matplotlib

# seaborn

sns.barplot(x,y)

五 箱线图

# 箱线图

import numpy as np

import matplotlib.pyplot as plt

import pandas as pd

# 数据准备

# 生成0-1之间的10*4维度数据

data = np.random.normal(size=(10,4))

lables = ['A','B','C','D']

# matplotlib

plt.boxplot(data,labels = lables)

# seaborn

df = pd.DataFrame(data,columns = lables)

sns.boxplot(data=df)

六 饼图

# 饼图

import matplotlib.pyplot as plt

# 数据准备

nums = [25,37,33,37,6]

labels = ['high-school','bachelor','matser','ph.d','others']

#matplotlib

plt.pie(x=nums,labels = labels)

七 热力图

# 热力图

import matplotlib.pyplot as plt

import seaborn as sns

# 数据准备

flights = sns.load_dataset('flights')

data= flights.pivot('year','month','passengers')

# seaborn

sns.heatmap(data)

八 蜘蛛图,雷达图

# 蜘蛛图,雷达图

import numpy as np

import matplotlib.pyplot as plt

import seaborn as sns

from matplotlib.font_manager import FontProperties

#数据准备

labels = np.array([u'推进',u'KDA',u'生存',u'团战',u'发育',u'输出'])

stats = [83,61,95,67,76,88]

# 画图数据准备,角度,状态值

angles = np.linspace(0,2*np.pi,len(labels),endpoint=False)

stats =np.concatenate((stats,[stats[0]]))

angles=np.concatenate((angles,[angles[0]]))

# matplotlib

fig = plt.figure()

ax = fig.add_subplot(111,polar=True)

ax.plot(angles,stats,'o-',linewidth=2)

ax.fill(angles,stats,alpha=0.25)

# 设置中文字体

# font = FontProperties(fname="/System/Library/Fonts/STHeiti Medium.ttc",size=14)

# ax.set_thetagrids(angles*180/np.pi,labels,FontProperties=font)

matplotlob不太支持中文,需要安装中文语言类别

九 二元变量分布图

# 二元变量分布,散点图

import matplotlib.pyplot as plt

import seaborn as sns

# 数据准备

tips = sns.load_dataset('tips')

print(tips.head(10))

# 用seaborn 画二元变量分布图(散点图,,核密度图,hexbin图)

sns.jointplot(x='total_bill',y='tip',data=tips,kind='scatter')

sns.jointplot(x='total_bill',y='tip',data=tips,kind='kde')

sns.jointplot(x='total_bill',y='tip',data=tips,kind='hex')

1 散点图

2 核密度图

3 binhexbin图

十 成对关系

# 成对关系

import matplotlib.pyplot as plt

import seaborn as sns

# 数据准备

iris = sns.load_dataset('iris')

# print(iris)

# 用seaborn画成对关系

sns.pairplot(iris)

课后练习及总结

#数据分析可视化库的课后练习题

# 1.seaborn的car_crashes数据集,进行成对关系的探索

# 2.seaborn画二元变量分布图

# 1.seaborn的car_crashes国外车祸数据集的成对关系

import matplotlib.pyplot as plt

import seaborn as sns

# 数据准备

cars= sns.load_dataset('car_crashes')

print(cars.head(10))

# seaborn画成对关系

sns.pairplot(cars)

# 2.seaborn画二元变量分布图

# 有cars数据集可以看出酒精和速度有类似线性关系,因此做酒精和速度二元变量的分布图

sns.jointplot(x='alcohol',y='speeding',data=cars,kind='scatter')

sns.jointplot(x='alcohol',y='speeding',data=cars,kind='kde')

sns.jointplot(x='alcohol',y='speeding',data=cars,kind='hex')

# 本节知识要点

# 1.变量关系分类:比较,联系,构成,分布.

# 比较:比较数据间各类别的关系,或者是他们随着时间的变化趋势,比如折线图

# 联系:查看两个或两个以上变量之间的关系,比如散点图

# 构成:每个部分占整体的百分比,或者是随着时间的百分比变化,比如饼图

# 分布:关注单个变量,或者多个变量的分布情况,比如直方图

# 2.十种常见视图的概念理解

# 1.散点图scatter,展示两个变量之间的关系

# 2.折线图plot 两个变量之间的变化趋势,例如数据随着时间变化的趋势

# 3.直方图hist,对数据集的直方分布,变量的数值分布

# 4.条形图bar,查看类别的特征,长度标识类别的频数,宽度标识类别

# 5.箱线图boxplot 又称盒式图,有五个熟知点组成:最大值max,最小值min,中位数median和上下四分位数(Q3,Q1),

# 可以分析出数据的差异性,离散程度和异常值。

# 6.饼图pie 是常用的统计学模块,可以显示每个部分大小与总和之间的比例。

# 7.热力图 heatmap是一种矩阵表示方法,矩阵中的元素值用颜色来代表,不同颜色代表不同大小的值。

# 是一种非常直观的多元变量分析方法。

# 8.蜘蛛图,雷达图 显示一对多关系,一个变量相对于另一个变量的显著性是清晰可见的。

# 9.二元变量分布jointplot,散点图scatter,核密度图kde,hexbin图hex。查看两个变量之间的关系。

# 10.成对关系pairplot,数据集中的多个成对双变量的分布。类似于dataframe中的describe()函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值