Python:Python数据分析基础教程/王斌会 第五章 数据的可视化分析

图书学习打卡:Python数据分析基础教程/王斌会 第五章 数据的可视化分析

在这里插入图片描述

5.1 特殊统计图的绘制

在这里插入图片描述

#(1)初等函数
import math
x=np.linspace(0,2*math.pi);x  #[0,2*pi]序列
#fig,ax=plt.subplots(2,2,figsize=(15,12))
plt.plot(x,np.sin(x))
plt.plot(x,np.cos(x))
plt.plot(x,np.log(x))
plt.plot(x,np.exp(x))
#(2)极坐标图	(加公式)
t=np.linspace(0,2*math.pi)
x=2*np.sin(t)
y=3*np.cos(t)
plt.plot(x,y)
plt.text(0,0,r'$\frac{x^2}{2}+\frac{y^2}{3}=1$',fontsize=15)
#(3)三维曲面图
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = Axes3D(fig)
X=np.linspace(-4,4,20) #X = np.arange(-4, 4, 0.5);
Y=np.linspace(-4,4,20) #Y = np.arange(-4, 4, 0.5)
X, Y = np.meshgrid(X, Y)
Z = np.sqrt(X**2 + Y**2)
ax.plot_surface(X, Y, Z)

#气泡图
plt.scatter(BSdata['身高'], BSdata['体重'], s=BSdata['支出']);
#三维三点图
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = Axes3D(fig)
ax.scatter(BSdata['身高'], BSdata['体重'], BSdata['支出'])

5.2 SeaBorn统计绘图

5.2.1 SeaBorn库的介绍

在这里插入图片描述

5.2.2 基本绘图展示

在这里插入图片描述
在这里插入图片描述

##5.2 Seaborn统计绘图
import seaborn as sns

#(1)箱线图boxplot
# 绘制箱线图
sns.boxplot(x=BSdata['身高'])
# 竖着放的箱线图,也就是将x换成y
sns.boxplot(y=BSdata['身高'])
# 分组绘制箱线图,分组因子是性别,在x轴不同位置绘制
sns.boxplot(x='性别', y='身高',data=BSdata)
# 分组箱线图,分子因子是smoker,不同的因子用不同颜色区分, 相当于分组之后又分组
sns.boxplot(x='开设', y='支出',hue='性别',data=BSdata)

#(2)小提琴图violinplot
sns.violinplot(x='性别', y='身高',data=BSdata)
sns.violinplot(x='开设', y='支出',hue='性别',data=BSdata)

#(3)散点图striplot
sns.stripplot(x='性别', y='身高',data=BSdata)
sns.stripplot(x='性别', y='身高',data=BSdata,jitter=True)
sns.stripplot(y='性别', x='身高',data=BSdata,jitter=True)

#(4)条图barplot
sns.barplot(x='性别', y='身高',data=BSdata,ci=0,palette="Blues_d")

#(5)计数的直方图countplot
# 分组绘图
sns.countplot(x='性别',data=BSdata)
sns.countplot(y='开设',data=BSdata)
sns.countplot(x='性别',hue="开设",data=BSdata)

#(6)两变量关系图factorplot
# 不同的deck(因子)绘制不同的alive(数值),col为分子图绘制,col_wrap每行画4个子图
sns.factorplot(x='性别',col="开设", col_wrap=3,data=BSdata, kind="count", size=2.5, aspect=.8)
#(7)概率分布图
sns.distplot(BSdata['身高'], kde=True, bins=20, rug=True);

sns.jointplot(x='身高', y='体重', data=BSdata);

sns.pairplot(BSdata[['身高','体重','支出']])

5.3 ggplot统计绘图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

##5.3 ggplot绘图系统
from plotnine import *    #加载和调用ggplot所有方法
#(1)直方图
qplot('身高',data=BSdata, geom='histogram')
#(2)条形图
qplot('开设',data=BSdata, geom='bar')
#(3)散点图
qplot('身高','体重',data=BSdata,color='性别');
qplot('身高','体重',data=BSdata,color='性别',size='性别');

###5.3.2 ggplot基本绘图
#(2)图层的概念
GP=ggplot(aes(x='身高',y='体重'),data=BSdata);GP #绘制直角坐标系
GP + geom_point()                  #增加点图
GP + geom_line()                   #增加线图

ggplot(BSdata,aes(x='身高',y='体重')) + geom_point() + geom_line()
ggplot(BSdata,aes(x='身高',y='体重',color='性别'))+geom_point()+theme_bw()

#(4)常见统计图
ggplot(BSdata,aes(x='身高'))+ geom_histogram()

ggplot(BSdata,aes(x='支出'))+geom_line(aes(y='身高'))
ggplot(BSdata,aes(x='支出'))+geom_line(aes(y='身高'))+geom_line(aes(y='体重'))
ggplot(BSdata,aes(x='身高')) + geom_histogram() + facet_wrap('性别')

ggplot(BSdata,aes(x='身高',y='体重')) + geom_point()
ggplot(BSdata,aes(x='身高',y='体重',color='性别'))+geom_point()
ggplot(BSdata,aes(x='身高',y='体重',color='性别'))+geom_point()+theme_bw()

ggplot(BSdata,aes(x='身高',y='体重',size='开设',colour='性别'))+geom_point()
ggplot(BSdata,aes(x='身高',colour='性别',fill='True')) + geom_density()
ggplot(BSdata,aes(x='身高',y='体重')) + geom_point() + facet_wrap('性别')

ggplot(BSdata,aes(x='身高',y='体重',color='性别'))+geom_point()+theme_bw()

### pyecharts
from pyecharts import Bar
bar = Bar('柱形图')
df = pd.DataFrame({'x':[1,2,3], 'y':[4,2,6]})
bar.add('first add', df.x, df.y)
bar

import pandas as pd
import numpy as np
df = pd.DataFrame([np.random.uniform(10,1,size=1000),
                   np.random.uniform(10,5,size=1000),
                   np.random.randint(1,high=10,size=1000),
                   np.random.choice(list('ABCD'),size=1000)],
                  index=['col1','col2','col3','col4']).T
df

from eplot import eplot
df.eplot()

df = pd.Series([4,2,6],index=[1,2,3])
df.eplot.bar(title='柱形图')
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值