数据可视化第五章

这些Python代码示例展示了如何使用ggplot、seaborn和matplotlib库创建散点图、去除离群点、进行平滑拟合以及绘制气泡图。通过crimeRatesByState2005.csv数据集,分析了谋杀案(murder)与入室盗窃(burglary)之间的关系,并利用颜色和大小来增强数据的视觉呈现。
摘要由CSDN通过智能技术生成

基于python的散点图实现.py

import ggplot as gp
import pandas as pd
crime=pd.read_csv("crimeRatesByState2005.csv")
plot=gp.ggplot(gp.aes(x='murder',y='burglary'),data=crime)#谋杀案,入室盗窃
points=gp.geom_point(color='red')
print(plot+points)

在这里插入图片描述
基于python散点图实现2.py

import ggplot as gp
import pandas as pd
crime=pd.read_csv("crimeRatesByState2005.csv")
# 去掉离群点
# crime=crime[crime.state!="United States"]
crime=crime[crime.state!="District of Columbia"]
plot=gp.ggplot(gp.aes(x='murder',y='burglary'),data=crime)#谋杀案,入室盗窃
points=gp.geom_point(color='red')
#统计变量关系并拟合回归
smooth=gp.stat_smooth(method='loess',color='red')#loess指定局部加权回归的平滑拟合,并通过span参数控制曲线平滑度
#通过method = 'gam'指定加性模型的平滑拟合
print(plot+points+smooth)

在这里插入图片描述
基于python散点图实现3.py

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
crime=pd.read_csv("crimeRatesByState2005.csv")
# crime=crime[crime.state!="United States"]
# 去掉离群点
crime=crime[crime.state!="District of Columbia"]
crime1=crime.drop(['state'],axis=1)#drop删除列
crime=crime.drop(['population'],axis=1)
g=sns.pairplot(crime,diag_kind="kde",kind="reg")#kde密度曲线,reg拟合曲线
# kind:用于控制非对角线上的图的类型,可选"scatter散点图"与"reg"
#将 kind 参数设置为 "reg" 会为非对角线上的散点图拟合出一条回归直线,更直观地显示变量之间的关系.
# diag_kind:控制对角线上的图的类型,可选"hist柱形图"与"kde抛物线"
plt.show()

在这里插入图片描述

气泡图.py

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
crime = pd.read_csv("crimeRatesByState2005.csv")
crime2 = crime[crime.state != "United States"]
crime2 = crime2[crime2.state != "District of Columbia"]
s = list(crime2.population/10000)
colors = np.random.rand(len(list(crime2.murder)))
cm = plt.cm.get_cmap()
plt.scatter(x=list(crime2.murder), y=list(crime2.burglary), s=s,c=colors,cmap=cm, linewidth=0.5, alpha=0.5)
plt.xlabel("murder")
plt.ylabel("burglary")
plt.show()

在这里插入图片描述

数据可视化(五)关系数据可视化 关系数据具有关联性与分布性 数据的关联性 数据的关联性 两个量化数据之间的数理关系 通过数据关联性可已根据⼀个已知的数值变化来预测另⼀个数值的变化。 散点图 散点图 正相关、负相关、不相关 # 散点图 crime = pd.read_csv("data/crimeRatesByState2005.csv") ( Scatter() .add_xaxis(crime["murder"]) .add_yaxis("", crime["burglary"]) .set_global_opts( title_opts=opts.TitleOpts(title="谋杀案和⼊室盗窃案的关联性散点图",pos_left="center"), xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True),name="谋杀案",name_location="middle",name_gap=30), yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True),name="⼊室盗窃案",name_location="center",name_gap=50), legend_opts=opts.LegendOpts(is_show=False) ) .set_series_opts(label_opts=opts.LabelOpts(is_show=False)) .render("result/5-2.html") ) #matplotlib实现 crime = pd.read_csv("data/crimeRatesByState2005.csv") crime=crime[crime.state!="United States"] crime=crime[crime.state!="District of Columbia"] plt.scatter(crime["murder"],crime["burglary"]) plt.show() 散点图矩阵 散点图矩阵 同时绘制多个变量间的散点图,快速发现变量间的相关性 #散点图矩阵 crime = pd.read_csv("data/crimeRatesByState2005.csv") crime=crime[crime.state!="United States"] crime=crime[crime.state!="District of Columbia"] crime=crime.drop(["population"],axis=1) crime=crime.drop(["state"],axis=1) g=sns.pairplot(crime,diag_kind="kde",kind='reg')#kde密度曲线reg拟合曲线 plt.show() ⽓泡图 ⽓泡图 由⼤⼩不同的标记表⽰,便于⽐较三个变量 数据的分布性 数据的分布性 可视化图⼏乎可以表⽰所有数据的内容,并且将数据分布的情况也呈现。 例如曲线平坦,代表数据分布均匀;重⼼偏左,⼤部分数据取较低的数值;呈现正态分布。表⽰⼤部分数据在平均值附近。 茎叶图 茎叶图 可以⼀次完成统计分组和次数分配,是探索数据分析中对数据初步形象的描绘。 优点: 1. 统计图上没有原始数据的损失 2. 图中的数据可以随时记录和添加,⽅便使⽤ 直⽅图 直⽅图 ⾼度表⽰数值频率,宽度数值区间。 密度图 密度图 反映数据分布的密度情况。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小兔子要健康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值