7.Python数据分析之Matplotlib-2

双轴图

首先还是各种准备工作:

import warnings
warnings.filterwarnings('ignore')
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

在这里插入图片描述

import matplotlib.mlab as mlab
from scipy.stats import norm
fig = plt.figure(figsize=(10,8))
ax1=fig.add_subplot(111)
n,bins,patches = ax1.hist(df['评分'],bins=100,color='m')
ax1.set_ylabel('电影数据',fontsize=15)
ax1.set_xlabel('电影数据',fontsize=15)
ax1.set_title('频率分布图',fontsize=20)

#计算正态概率密度函数的一个具体的命令
y = norm.pdf(bins,df['评分'].mean(),df['评分'].std())
#与ax1共用一个x轴
ax2 = ax1.twinx()
ax2.plot(bins,y,'b--')
ax2.set_ylabel('概率分布',fontsize=15)
plt.show()

在这里插入图片描述

根据电影时长和电影评分绘制散点图

用两组数据构成多个坐标点,考察坐标点的分布,判断两个变量之间是否存在某种关联或总结坐标点的分布模式。散点图将序列显示为一组点。值由点在图表中的位置表示,类别由图标中的不同标记表示。散点图通常用于跨类别的聚合数据。

x = df['时长']
y = df['评分']

plt.figure(figsize=(10,8))
plt.scatter(x,y)
plt.legend()
plt.title("电影时长与评分散点图",fontsize=20)
plt.xlabel("时长",fontsize=18)
plt.ylabel("评分",fontsize=18)
plt.show()

在这里插入图片描述
数据量太大,可以选取部分数据
在这里插入图片描述
plt.scatter(x,y,color=‘c’,marker=‘p’) #换成星星标记
形状还有很多

绘制各个地区的评分箱型图

箱型图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。在各种领域也经常被使用,常见于品质管理。它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比较。箱线图的绘制方式是:先找出一组数据的中位数、两个四分位数、上下边缘线;然后,连接两个四分位数画出箱子;再将上下边缘线与箱子连接,中位数在箱子中间。

美国电影评分的箱线图

data = df[df.产地=='美国']['评分']

plt.figure(figsize=(10,6))

#whis设置异常值,如果不设置默认是1.5
#flierprops设置异常值样式
plt.boxplot(data,whis=2,flierprops={'marker':'o','markerfacecolor':'r','color':'k'})
plt.title('美国电影评分',fontsize=20)
plt.show()

在这里插入图片描述

多组数据箱线图

data1 = df[df.产地=='中国大陆']['评分']
data2 = df[df.产地=='日本']['评分']
data3 = df[df.产地=='中国香港']['评分']
data4 = df[df.产地=='英国']['评分']
data5 = df[df.产地=='法国']['评分']

plt.figure(figsize=(12,8))
plt.boxplot([data1,data2,data3,data4,data5],labels=['中国大陆','日本','中国香港','英国','法国'],whis=2,flierprops={'marker':'o','markerfacecolor':'r','color':'k'})
plt.title('电影评分箱线图',fontsize=20)

在这里插入图片描述

data1 = df[df.产地=='中国大陆']['评分']
data2 = df[df.产地=='日本']['评分']
data3 = df[df.产地=='中国香港']['评分']
data4 = df[df.产地=='英国']['评分']
data5 = df[df.产地=='法国']['评分']

plt.figure(figsize=(12,8))
#vert=False变成横向
plt.boxplot([data1,data2,data3,data4,data5],labels=['中国大陆','日本','中国香港','英国','法国'],whis=2,
            flierprops={'marker':'o','markerfacecolor':'r','color':'k'},vert=False)
plt.title('电影评分箱线图',fontsize=20)
#得到当前的坐标系
ax = plt.gca()
#设置背景颜色
ax.patch.set_facecolor('gray')
#设置透明度
ax.patch.set_alpha(0.3)

在这里插入图片描述

相关系数矩阵图–热力图

在这里插入图片描述
Pandas里面本身也封装了画图函数
我们也可以画出各个属性之间的散点图,对角线是分布图

%pylab inline
result = pd.pandas.plotting.scatter_matrix(data[::100],diagonal='kde',color='k',alpha=0.3,figsize=(5,5))

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值