# -*- coding: utf-8 -*-
# %%
from scipy import stats
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from plotnine import *
#N = 300
#x1 = np.random.normal(1.5, 0.5,N)
#y1 = np.random.normal(2,0.2, N)
# df=pd.DataFrame({'x':x1,'y':y1})
tips = sns.load_dataset("tips")
df = pd.DataFrame({'x': tips['total_bill'], 'y': tips['tip']})
df
# %%
sns.set_style("ticks")
sns.set_context("notebook", font_scale=1.5,
rc={'font.size': 13,
'axes.labelsize': 16, 'legend.fontsize': 16,
'xtick.labelsize': 15, 'ytick.labelsize': 15})
# ---------------------------------(a) 二维散点与统计直方图 --------------------------------
sns_hist = sns.jointplot(x='x', y='y', # 设置xy轴,显示columns名称
data=df, # 设置数据
color='#D31A8A', # 设置颜色
s=60, edgecolor="w", linewidth=0.5,
# 设置散点大小、边缘线颜色及宽度(只针对scatter)
kind='scatter', # kind="kde","hex","reg"
space=0, # 设置散点图和布局图的间距
size=5, ratio=5, # 散点图与布局图高度比,整型
xlim=(0, 60),
marginal_kws=dict(bins=20, rug=False,
hist_kws={'edgecolor': 'k',
'color': '#7CBC47',
'alpha': 1}) # 设置柱状图箱数,是否设置rug
)
sns_hist.set_axis_labels(xlabel='total bill', ylabel='tip')
# sns_hist.savefig('scatter_hist.pdf')
# %%
# ---------------------------------(b) 带趋势线的二维散点与统计直方图----------------------------------------------------
sns_reg = sns.jointplot(x='x', y='y', # 设置xy轴,显示columns名称
data=df, # 设置数据
color='#7CBC47', # 设置颜色
# 设置散点大小、边缘线颜色及宽度(只针对scatter)
kind='reg', # kind="kde","hex","reg"
space=0, # 设置散点图和布局图的间距
size=5, ratio=5, # 散点图与布局图高度比,整型
scatter_kws={"color": "#7CBC47",
"alpha": 0.7, "s": 30, 'marker': "+"},
line_kws={"color": "#D31A8A", "alpha": 1, "lw": 4},
marginal_kws=dict(bins=20, rug=False,
hist_kws={'edgecolor': 'k',
'color': '#7CBC47',
'alpha': 1}) # 设置柱状图箱数,是否设置rug
)
sns_reg.set_axis_labels(xlabel='total bill', ylabel='tip')
# sns_reg.savefig('scatter_reg.pdf')
# %%
# ----------------------------------(c) 二维与一维统计直方图---------------------------------------------------
sns_hex = sns.jointplot(x='x', y='y', # 设置xy轴,显示columns名称
data=df, # 设置数据
# 设置散点大小、边缘线颜色及宽度(只针对scatter)
kind='hex', # kind="kde","hex","reg"
color='#D31A8A', linewidth=0.1,
space=0, # 设置散点图和布局图的间距
size=5, ratio=5, # 散点图与布局图高度比,整型
xlim=(0, 60),
joint_kws=dict(gridsize=20, edgecolor='w'), # 主图参数设置
marginal_kws=dict(bins=20, color='#D31A8A',
hist_kws={'edgecolor': 'k', 'alpha': 1}), # 边缘图设置
) # 修改统计注释
sns_hex.set_axis_labels(xlabel='total bill', ylabel='tip')
# sns_hex.savefig('sns_hex.pdf')
# %%
# --------------------------------(d) 二维与一维核密度估计图--------------------------------------------------
sns_kde = sns.jointplot(x="x", y="y", data=df, kind="kde", color='#D31A8A')
sns_kde.plot_joint(plt.scatter, c="k", s=10, linewidth=1, marker="+")
sns_kde.set_axis_labels(xlabel='total bill', ylabel='tip')
# sns_kde.savefig('sns_kde.pdf')
# %%
# -------------------------------(e)二维散点与一维核密度估计图---------------------------------------------
g = sns.JointGrid(x="total_bill", y="tip", data=tips, size=5, ratio=5)
g = g.plot_joint(plt.scatter,
color="#00B1B8", s=40, edgecolor="black", linewidth=0.2)
g = g.plot_marginals(sns.kdeplot, shade=True, color="#00B1B8")
g = g.annotate(stats.pearsonr, loc="upper left", fontsize=12)
def rsquare(a, b): return stats.pearsonr(a, b)[0] ** 2
g = g.annotate(rsquare, template="{stat}: {val:.2f}",
stat="$R^2$", loc="upper left", fontsize=15)
g.set_axis_labels(xlabel='total bill', ylabel='tip')
# g.savefig('sns_kde_scatter.pdf')
没有合适的资源?快使用搜索试试~ 我知道了~
Python数据可视化:数据分布图表可视化案例
共26个文件
py:17个
csv:9个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 181 浏览量
2023-01-11
23:30:04
上传
评论 1
收藏 649KB ZIP 举报
温馨提示
本资源将介绍数据分布型图表的可视化方法。 数据分布型图表主要显示数据集中的数值及其出现的频率或者分布规律,包括统计直方图、核密度曲线图、箱形图、小提琴图等。 资源为可执行、可编辑的.py文件,可直接编译运行和修改移植。 项目资源请参见:https://handsome-man.blog.csdn.net/article/details/128400911
资源推荐
资源详情
资源评论
收起资源包目录
Python数据可视化:数据分布图表可视化可视化案例.zip (26个子文件)
Python数据可视化:数据分布图表可视化可视化案例
Boxplot_Sort_Data.csv 6KB
图6-2-3 柱形分布图系列.py 2KB
图6-2-10 水平显示的箱型图和小提琴图.py 2KB
mpg_ggplot2.csv 16KB
Hist_Density_Data.csv 267KB
图6-1-1 直方图和核密度估计图.py 2KB
Distribution_LargeData.csv 1.57MB
_图6-1-2 核密度估计峰峦图.py 4KB
lincoln_weather.csv 33KB
图6-2-7 大数据的箱型图系列.py 1KB
图6-2-8 不同类型的小提琴图.py 2KB
Norm.csv 1KB
图6-2-11 中值排序显示的箱型图.py 1KB
tips.csv 8KB
图6-2-5 箱型图系列.py 1KB
图6-3-1 不同类型的二维统计直方图.py 2KB
图6-3-3 (a)二维统计柱形图.py 3KB
图6-2-6 箱型图系列.py 2KB
Population_Pyramid_Data.csv 2KB
图6-3-3 (b)二维核密度估曲面图.py 923B
图6-2-1四种不同数据分布的分布类图表.py 1KB
Distribution_Data.csv 6KB
图6-3-2 不同类型的二维核密度估计图.py 2KB
图6-2-9 双数据系列箱型图系列.py 4KB
图6-3-4 统计分布组合图.py 5KB
图6-2-2 散点分布图系列.py 5KB
共 26 条
- 1
不脱发的程序猿
- 粉丝: 24w+
- 资源: 5775
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 四数之和(java代码).docx
- 701837906919458TapScanner v3.0.10 (Pro).apk
- 青岛大学人工智能实验二 利用α-β搜索的博弈树算法编写一字棋游戏
- ### 1、项目介绍 本项目Scrapy进行数据爬取,并使用Django框架+PyEcharts实现可视化大屏 效果如下:
- # 微信小程序-健康菜谱 基于微信小程序的一个查找检索菜谱的应用 ### 效果 !动态图(./res/gif/demo
- zabbix-get命令包资源
- 289ssm-mysql-jsp 计算机课程实验管理系统.zip(可运行源码+数据库文件+文档)
- 毕业设计,基于PyQt5实现的可视化界面的Python车牌自动识别系统源码
- 20-天天果园项目.rar
- 26-朴素贝叶斯分类.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页