我们在做数据分析的时候,难免会用到图像来表示你要展示的东西,接下来写一下demo来表示一下各种图:

以下默认所有的操作都先导入了numpy、pandas、matplotlib、seaborn

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

数据源地址:github地址:https://github.com/mwaskom/seaborn-data

解压缩文件,拖入seaborn-data文件夹中

  

1、折线图

折线图可以用来表示数据随着时间变化的趋势

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)
plt.show()

  • Seaborn
df = pd.DataFrame({'x': x, 'y': y})
sns.lineplot(x="x", y="y", data=df)
plt.show()

2、直方图

直方图是比较常见的视图,它是把横坐标等分成了一定数量的小区间,然后在每个小区间内用矩形条(bars)展示该区间的数值

a = np.random.randn(100)
s = pd.Series(a)
  • Matplotlib
plt.hist(s)
plt.show()

  • Seaborn
sns.distplot(s, kde=False)
plt.show()
sns.distplot(s, kde=True)
plt.show()

3、垂直条形图

条形图可以帮我们查看类别的特征。在条形图中,长条形的长度表示类别的频数,宽度表示类别。

x = ['Cat1', 'Cat2', 'Cat3', 'Cat4', 'Cat5']
y = [5, 4, 8, 12, 7]
  • Matplotlib
plt.bar(x, y)
plt.show()

  • Seaborn
plt.show()

4、水平条形图

x = ['Cat1', 'Cat2', 'Cat3', 'Cat4', 'Cat5']
y = [5, 4, 8, 12, 7]
plt.barh(x, y)
plt.show()

5、饼图

nums = [25, 37, 33, 37, 6]
labels = ['High-school','Bachelor','Master','Ph.d', 'Others']
plt.pie(x = nums, labels=labels)
plt.show()

6、箱线图

箱线图由五个数值点组成:最大值 (max)、最小值 (min)、中位数 (median) 和上下四分位数 (Q3, Q1)。
可以帮我们分析出数据的差异性、离散程度和异常值等。

  • Matplotlib
# 生成0-1之间的10*4维度数据
data=np.random.normal(size=(10,4))
lables = ['A','B','C','D']
# 用Matplotlib画箱线图
plt.boxplot(data,labels=lables)
plt.show()

  • Seaborn
# 用Seaborn画箱线图
df = pd.DataFrame(data, columns=lables)
sns.boxplot(data=df)
plt.show()

7、热力图

热力图,英文叫 heat map,是一种矩阵表示方法,其中矩阵中的元素值用颜色来代表,不同的颜色代表不同大小的值。通过颜色就能直观地知道某个位置上数值的大小。

data = np.array([[1,2,3],[4,5,6],[7,8,9]])
ax = sns.heatmap(data,annot=True)
bottom, top = ax.get_ylim()
ax.set_ylim(bottom + 0.5, top - 0.5)
plt.show()

这个需要数据集,去git上下载即可,git地址:https://github.com/mwaskom/seaborn-data下载seaborn-data文件

flights = sns.load_dataset("flights")
data=flights.pivot('year','month','passengers')
sns.heatmap(data)
plt.show()

通过 seaborn 的 heatmap 函数,我们可以观察到不同年份,不同月份的乘客数量变化情况,其中颜色越浅的代表乘客数量越多

8、散点图

散点图的英文叫做 scatter plot,它将两个变量的值显示在二维坐标中,非常适合展示两个变量之间的关系。

N = 1000
x = np.random.randn(N)
y = np.random.randn(N)
  • Matplotlib
plt.scatter(x, y,marker='x')
plt.show()

  • Seaborn
df = pd.DataFrame({'x': x, 'y': y})
sns.jointplot(x="x", y="y", data=df, kind='scatter');
plt.show()

9、蜘蛛图(雷达图)

蜘蛛图是一种显示一对多关系的方法,使一个变量相对于另一个变量的显著性是清晰可见

labels=np.array([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=r"/System/Library/Fonts/PingFang.ttc", size=14)
# ax.set_thetagrids(angles * 180/np.pi, labels, FontProperties=font)
ax.set_thetagrids(angles * 180/np.pi, labels, fontproperties="SimHei")
plt.show()

10、二元变量分布(这个代码需要下载对应的数据源)

数据源地址:github地址:https://github.com/mwaskom/seaborn-data

解压缩文件,拖入seaborn-data文件夹中

二元变量分布可以看两个变量之间的关系

tips = sns.load_dataset("tips")
tips.head(10)
#散点图
sns.jointplot(x="total_bill", y="tip", data=tips, kind='scatter')
#核密度图
sns.jointplot(x="total_bill", y="tip", data=tips, kind='kde')
#Hexbin图
sns.jointplot(x="total_bill", y="tip", data=tips, kind='hex')
plt.show()

11、面积图

面积图又称区域图,强调数量随时间而变化的程度,也可用于引起人们对总值趋势的注意。
堆积面积图还可以显示部分与整体的关系。折线图和面积图都可以用来帮助我们对趋势进行分析,当数据集有合计关系或者你想要展示局部与整体关系的时候,使用面积图为更好的选择。

df = pd.DataFrame(
np.random.rand(10, 4),
columns=['a', 'b', 'c', 'd'])# 堆面积图
df.plot.area()# 面积图
df.plot.area(stacked=False)

12、六边形图

六边形图将空间中的点聚合成六边形,然后根据六边形内部的值为这些六边形上色。

df = pd.DataFrame(
np.random.randn(1000, 2),
columns=['a', 'b'])
df['b'] = df['b'] + np.arange(1000)# 关键字参数gridsize;它控制x方向上的六边形数量,默认为100,较大的gridsize意味着更多,更小的bin
df.plot.hexbin(x='a', y='b', gridsize=25)

本文参考如下文章改写,感谢博主

python数据分析常用图大集合 - 雪山飞猪 - 博客园

python数据分析常用图大集合相关推荐

  1. python数据分析常用包_python可视化数据分析常用图大集合(收藏)

    python数据分析常用图大集合:包含折线图.直方图.垂直条形图.水平条形图.饼图.箱线图.热力图.散点图.蜘蛛图.二元变量分布.面积图.六边形图等12种常用可视化数据分析图,后期还会不断的收集整理, ...

  2. python分析数据图片_python数据分析常用图大集合

    以下默认所有的操作都先导入了numpy.pandas.matplotlib.seaborn import numpy as np import pandas as pd import matplotl ...

  3. python数据分析相关论文_菜鸟学Python|数据分析精华文章大集合

    原标题:菜鸟学Python|数据分析精华文章大集合 这是菜鸟学Python的第123篇原创文章 Python的数据分析是我比较喜欢的一个方向,因为可以探索数据里面的秘密,加上可视乎会非常漂亮,但是里面 ...

  4. 【大学生课程】《Python数据分析》课程大作业要求

    <Python数据分析>课程大作业要求 大作业要求 评分标准 考核目标 数据分析基本步骤 实际操作 一.掌握Pandas的读写操作 读写数据操作: 读取文本文件 正确使用预处理技术过滤数据 ...

  5. 作业3(大作业):python数据分析与应用大作业,对用户用电量数据进行数据处理,包括数据转置、异常数据识别和处理、统计基本统计量(包括峰度、偏度)、按日/周(求和)差分、5%分位数等

    Python数据分析与应用大作业 使用学习过的知识(Numpy数值分析基础.Matplotlib数据可视化基础.Pandas统计分析基础),对data.csv用户用户用电量数据进行相关处理,其中数据中 ...

  6. 财务大数据比赛有python吗-如何在一个月之内掌握python数据分析,参加大数据比赛?...

    那你最好找一个专业的老师带带你,这样突破比较的快,python的库比较多,我将自然语言处理(NLP)库分享出来,希望能帮助到你 今天,自然语言处理(NLP)变得非常流行,在深度学习发展的背景下,自然语 ...

  7. python做大数据分析入门_独家|Python数据分析入门指南 - 大数据123 | 大数据导航网...

    有一个朋友最近问到这个问题,我觉得把它公开出来对其他人也会有帮助.这是给完全不了解Python而想找到从零到一的最简单的路径的人的建议: 1. 在这里(https://www.continuum.io ...

  8. python数据分析常见面试题_python常见面试题集

    1 . MySQL 数据库总结 MySQL 可以建多少个数据库,理论上是没有限制的,每一个数据库可以有上亿的对象,但 是一般基于硬件要求.效率问题一般不超过 64 个, 超过 64 个会对数据处理速度 ...

  9. Python 处理各种日期 大集合

    Python 更好的日期时间模块arrow 文章目录 Python 更好的日期时间模块arrow 1.安装环境包 获取当前时间 时间形式转换 转换成时间戳 获取全部数据 修改时间和时间的计算 # 时间 ...

最新文章

  1. App启动闪屏黑屏问题
  2. SAP License管理
  3. “error LNK2019: 无法解析的外部符号”的几种可能原因
  4. python二维游戏示例_Python实现的井字棋(Tic Tac Toe)游戏示例
  5. java,javac,javap命令
  6. 苹果大幅削减iPad产量 将芯片等部件调配给iPhone 13
  7. 希尔排序是一种稳定的排序算法_排序算法—希尔排序
  8. c语言程序构建,c语言开发环境构建及简单的c程序设计.doc
  9. GDAL对于raw数据支持的一个bug
  10. 《产品经理认证(NPDP)知识体系指南》
  11. 罗永浩,天下“老赖”不独你一人!6位创业明星的陨落
  12. 嵌入式硬件-读懂原理图
  13. 「或许我们都应该学会接受,喜欢的人不一定喜欢自己吧~」电影《盛夏未来》戳心台词!世界上没有那么多刚刚好~
  14. ios持续化集成-fastlane+jenkins+蒲公英+alfred+Webhook通知企业微信
  15. 传输线方程与终端加载的无损耗传输线
  16. RecycleView实现像ViewPager一次滑一页效果
  17. Qt图片绘图类QPixmap、QImage、QPicture
  18. props 更新.使用规则
  19. 论项目管理中的目标管理
  20. 记录element-ui自定义表单验证上传身份证正反面

热门文章

  1. svg汽车跑道动画js特效
  2. div 设置a4大小_设计适用于打印的CSS样式
  3. T2Admin 管理系统框架介绍
  4. [转]单表60亿记录等大数据场景的MySQL优化和运维之道
  5. 再订购点计划(Reorder Point Planning)概览
  6. mumu模拟器崩坏3分辨率_崩坏3:大佬亲自测试模拟器开启120帧,结果让所有玩家崩溃!...
  7. 压缩照片内存低于20kb不改变像素,画质清晰
  8. 【每日三题】2022-4-2 LeetCode 34-36
  9. 明天放假啦——关于08的幸福
  10. iostat查看磁盘压力