关联 (Correlation)

关联图表用于可视化2个或更多变量之间的关系。 也就是说,一个变量如何相对于另一个变化。

散点图(Scatter plot)

散点图是用于研究两个变量之间关系的经典的和基本的图表。 如果数据中有多个组,则可能需要以不同颜色可视化每个组。 在 matplotlib 中,您可以使用 plt.scatterplot() 方便地执行此操作。

导入需要的模块库

import numpy as np              # 导入numpy库
import pandas as pd # 导入pandas库
import matplotlib as mpl # 导入matplotlib库
import matplotlib.pyplot as plt
import seaborn as sns # 导入seaborn库

设定图像各种属性

large = 22; med = 16; small = 12
params = {'axes.titlesize': large, #子图上的标题字体大小
'legend.fontsize': med, #图例的字体大小
'figure.figsize': (16, 10), #图像的画布大小
'axes.labelsize': med, #标签的字体大小
'xtick.labelsize': med, #x轴上的标尺的字体大小
'ytick.labelsize': med, #y轴上的标尺的字体大小
'figure.titlesize': large} #整个画布的标题字体大小
plt.rcParams.update(params) #更新默认属性
plt.style.use('seaborn-whitegrid') #设定整体风格
sns.set_style("white") #设定整体背景风格

程序代码

# step1:导入数据

midwest = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/midwest_filter.csv")

# step2:准备数据和颜色

# step2:准备数据和颜色
categories = np.unique(midwest['category']) # 使用np.unique对“midwest['category']” 去重
colors = [plt.cm.tab10(i/float(len(categories) - 1)) for i in range(len(categories))] # 使用列表推导式,建立colors列表。

# step3:建立画布

# step3:建立画布

plt.figure(figsize = (16, 10),     # 绘图尺寸,默认为(6.4,4.8)
dpi = 80, # 图像的分辨率,默认dpi为100
facecolor = 'w', # 背景颜色,默认为白色
edgecolor = 'k' )

# step4:绘图

# step4:绘图
# 使用函数enumerate:将可遍历的数据对象组合为一个索引序列,同时列出数据和数据索引
for i, category in enumerate(categories): plt.scatter("area", "poptotal", # 横坐标名称,纵坐标名称
data = midwest.loc[midwest.category == category,:], # 程序会自动的从data提取data中"area"和"poptotal"数据
s = 20, # 数据点尺寸
c = np.array(colors[i]).reshape(1, -1), # 设定颜色,若不转换为二维,会出现报错
label = str(category)) # 设定标签名称

# step5:装饰

# step5:装饰

plt.gca().set(xlim = (0, 0.12), ylim=(0, 80000))   # 设定横轴坐标的范围(元组)
plt.xticks(fontsize = 12) # 设定x坐标轴上字体的大小
plt.yticks(fontsize = 12) # 设定y坐标轴上字体的大小
plt.ylabel('Population', fontsize = 22) # 设定y坐标轴上的标题和字体大小
plt.xlabel("Area", fontsize = 22) # 设定x坐标轴上的标题和字体大小
plt.title("Scatterplot of Midwest Area vs Population", fontsize = 22) # 设定整个图像的标题和字体大小
plt.legend(fontsize = 12) # 设定图例的字体大小
plt.show()

散点图

总结

创建画布

  • plt.figure()

参数说明

  • figsize__画布尺寸
  • dpi__分辨率
  • facecolor__背景颜色,默认为白色
  • edgecolor__边框颜色,默认为白色

绘制散点图函数

  • plt.scatter()

参数说明

  • x__指定x轴数据(或者输入x轴数据名称)
  • y__指定y轴数据(或者输入y轴数据名称)
  • s__点的尺寸
  • alpha__点的透明度
  • linewidths__散点边框点的宽度
  • edgecolors__散点边框的颜色
  • cmap__指定散点的颜色映射,会使用不同颜色来区分散点的值

光谱

  • plt.cm.tab10()

plt.cm.tab10()

enumerate

  • enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
  • 可用[*]打开惰性数据

列表推导式

  • 列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表。
  • 它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句。那个表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表,在这个以 if 和 for 语句为上下文的表达式运行完成之后产生。
  • 列表推导式的执行顺序:各语句之间是嵌套关系,左边第二个语句是最外层,依次往右进一层,左边第一条语句是最后一层。
  • colors = [plt.cm.tab10(i/float(len(categories) - 1)) for i in range(len(categories))]

数据可视化实例(三): 散点图(pandas,matplotlib,numpy)的更多相关文章

  1. 【Matplotlib】数据可视化实例分析

    数据可视化实例分析 作者:白宁超 2017年7月19日09:09:07 摘要:数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息.但是,这并不就意味着数据可视化就一定因为要实现其功能用途而令 ...

  2. Echarts数据可视化series-effectscatter特效散点图,开发全解+完美注释

    全栈工程师开发手册 (作者:栾鹏) Echarts数据可视化开发代码注释全解 Echarts数据可视化开发参数配置全解 6大公共组件详解(点击进入): title详解. tooltip详解.toolb ...

  3. [译]学习IPython进行交互式计算和数据可视化(三)

    第二章 在本章中,我们将详细学习IPython相对以Python控制台带来的多种改进.特别的,我们将会进行下面的几个任务: 从IPython中使用系统shell以在shell和Python之间进行强大 ...

  4. 数据可视化实例(六): 带线性回归最佳拟合线的散点图(matplotlib,pandas)

    https://datawhalechina.github.io/pms50/#/chapter3/chapter3 如果你想了解两个变量如何相互改变,那么最佳拟合线就是常用的方法. 下图显示了数据中 ...

  5. 数据可视化实例(十四):带标记的发散型棒棒糖图 (matplotlib,pandas)

    偏差 (Deviation) 带标记的发散型棒棒糖图 (Diverging Lollipop Chart with Markers) 带标记的棒棒糖图通过强调您想要引起注意的任何重要数据点并在图表中适 ...

  6. 数据可视化实例(五): 气泡图(matplotlib,pandas)

    https://datawhalechina.github.io/pms50/#/chapter2/chapter2 关联 (Correlation) 关联图表用于可视化2个或更多变量之间的关系. 也 ...

  7. 数据可视化实例(八): 边缘直方图(matplotlib,pandas)

    https://datawhalechina.github.io/pms50/#/chapter6/chapter6 边缘直方图 (Marginal Histogram) 边缘直方图具有沿 X 和 Y ...

  8. 数据可视化实例(十三): 发散型文本 (matplotlib,pandas)

    偏差 (Deviation) https://datawhalechina.github.io/pms50/#/chapter11/chapter11 发散型文本 (Diverging Texts) ...

  9. 数据可视化实例(十二): 发散型条形图 (matplotlib,pandas)

    https://datawhalechina.github.io/pms50/#/chapter10/chapter10 如果您想根据单个指标查看项目的变化情况,并可视化此差异的顺序和数量,那么散型条 ...

随机推荐

  1. RabbitMQ是什么

    1.引入MQ 1.1什么是MQ ​ MQ(Message Quene):翻译为 消息队列,通过典型的 生产者 和 消费者 模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息.因为消息的 ...

  2. iostst

    原文链接:https://blog.csdn.net/qq_20332637/article/details/82146753 iostat用于输出CPU和磁盘I/O相关的统计信息,iostat 也有 ...

  3. mysql explain的type的

    导语 很多情况下,有很多人用各种select语句查询到了他们想要的数据后,往往便以为工作圆满结束了.这些事情往往发生在一些学生亦或刚入职场但之前又没有很好数据库基础的小白身上,但所谓闻道有先后,只要我 ...

  4. Android学习笔记BroadcastReceiver(广播接收者)

    Android发送广播的过程 代码实现 MainActivity.java import androidx.appcompat.app.AppCompatActivity; import androi ...

  5. 『图论』LCA 最近公共祖先

    概述篇 LCA (Least Common Ancestors) ,即最近公共祖先,是指这样的一个问题:在一棵有根树中,找出某两个节点 u 和 v 最近的公共祖先. LCA 可分为在线算法与离线算法 ...

  6. PageHelper支持GreenPlum

    greenplum是pivotal在postgresql的基础上修改的一个数据库,语法和postgresql通用.使用PageHelper做分页插件的时候,发现目前没有针对greenplum做支持,但 ...

  7. 深入理解Java虚拟机学习笔记(三)-----类文件结构/虚拟机类加载机制

    第6章 类文件结构 1. 无关性 各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(即扩展名为 .class 的文件) 是构成平台无关性的基石. 字节码(即扩展名为 .class 的文 ...

  8. ASP.NET Core 对Controller进行单元测试

    单元测试对我们的代码质量非常重要.很多同学都会对业务逻辑或者工具方法写测试用例,但是往往忽略了对Controller层写单元测试.我所在的公司没见过一个对Controller写过测试的.今天来演示下如 ...

  9. 基于web网站项目的性能测试结果分析

    业务背景: 最近公司研发了一款对并发要求比较高的web项目,需要对其压力测试,模拟线上可能存在的问题,这个过程中遇到一些很多问题,这里重新梳理一下思路,希望能给遇到同样问题的小伙伴提供一个参考. 工具 ...

  10. 基于flask框架的高校舆情分析系统

    系统分析: 高校舆情分析拟实现如下功能,采集微博.贴吧.学校官网的舆情信息,对这些舆情进行数据分析.情感分析,提取关键词,生成词云分析,情感分析图,实时监测舆情动态. 系统设计: 前端:采用layui ...