您现在的位置是:首页 >学无止境 >【数据分析之道-Matplotlib(四)】Matplotlib散点图网站首页学无止境

【数据分析之道-Matplotlib(四)】Matplotlib散点图

i阿极 2024-06-17 10:32:09
简介【数据分析之道-Matplotlib(四)】Matplotlib散点图

在这里插入图片描述

专栏导读

✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。

本文录入于《数据分析之道》,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。
订阅后,可以阅读《数据分析之道》中全部文章内容,包含python基础语法、数据结构和文件操作,科学计算,实现文件内容操作,实现数据可视化等等。
✍ 其他专栏:《数据分析案例》《机器学习案例》

???如果觉得文章不错或能帮助到你学习,可以点赞?收藏?评论?+关注哦!???

???如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!?

1、Matplotlib散点图语法

散点图是一种常用的数据可视化方式,用于展示两个变量之间的关系。在Matplotlib中,可以使用scatter()函数来绘制散点图。

scatter()函数的基本语法如下:

plt.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, 
vmax=None, alpha=None, linewidths=None, *, edgecolors=None, plotnonfinite=False, data=None, **kwargs)

参数说明:

  • x:表示散点图中各个点的横坐标,可以是一个数组或者列表。

  • y:表示散点图中各个点的纵坐标,可以是一个数组或者列表。

  • s:点的大小,默认 20,也可以是个数组,数组每个参数为对应点的大小。

  • c:点的颜色,默认蓝色 ‘b’,也可以是个 RGB 或 RGBA 二维行数组。

  • marker:点的样式,默认小圆圈 ‘o’。

  • cmap:Colormap,默认 None,标量或者是一个 colormap 的名字,只有 c 是一个浮点数数组的时才使用。如果没有申明就是 image.cmap。

  • norm:Normalize,默认 None,数据亮度在 0-1 之间,只有 c 是一个浮点数的数组的时才使用。

  • vmin,vmax::亮度设置,在 norm 参数存在时会忽略。

  • alpha::透明度设置,0-1 之间,默认 None,即不透明。

  • linewidths::标记点的长度。

  • edgecolors::颜色或颜色序列,默认为 ‘face’,可选值有 ‘face’, ‘none’, None。

  • plotnonfinite::布尔值,设置是否使用非限定的 c ( inf, -inf 或 nan) 绘制点。

  • **kwargs::其他参数。

以下散点图演示了如何使用 Matplotlib 创建一个基本的散点图:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
x = np.random.rand(50)
y = np.random.rand(50)

# 绘制散点图
plt.scatter(x, y)

# 设置标题和坐标轴标签
plt.title('Simple Scatter Plot')
plt.xlabel('X')
plt.ylabel('Y')

# 显示图形
plt.show()

在这里插入图片描述

使用随机数生成了50个横坐标 x 和纵坐标 y。然后,使用 scatter() 函数绘制了散点图,其中 x 和 y 分别表示散点图中各个点的横坐标和纵坐标。
我们还设置了标题和坐标轴标签,分别使用 title() 和 xlabel()、ylabel() 函数。
最后,通过 show() 函数显示图形。

2、Matplotlib散点图设置图标大小

设置散点图的大小,可以使用scatter()函数的s参数来指定点的大小。该参数可以接受一个标量值或一个数组,用于指定每个点的大小。

以下是设置散点图大小的示例代码:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
x = np.random.rand(50)
y = np.random.rand(50)
sizes = np.random.randint(10, 100, 50)

# 设置散点图大小
plt.scatter(x, y, s=sizes)

# 设置标题和坐标轴标签
plt.title('Scatter Plot')
plt.xlabel('X')
plt.ylabel('Y')

# 显示图形
plt.show()

在这里插入图片描述

使用sizes数组来指定每个点的大小。sizes数组的长度与数据点的个数相同,对应每个数据点的大小。

3、Matplotlib散点图自定义点颜色

自定义散点图中点的颜色,可以使用scatter()函数的c参数来指定颜色。该参数可以接受一个标量值或一个数组,用于指定每个点的颜色。

以下是自定义散点图点的颜色的示例代码:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
x = np.random.rand(50)
y = np.random.rand(50)
colors = np.random.rand(50)

# 自定义散点图颜色
plt.scatter(x, y, c=colors)

# 设置标题和坐标轴标签
plt.title('Scatter Plot')
plt.xlabel('X')
plt.ylabel('Y')

# 显示图形
plt.show()

在这里插入图片描述

使用colors数组来指定每个点的颜色。colors数组的长度与数据点的个数相同,对应每个数据点的颜色。

可以使用不同的方式来指定颜色,例如:

  • 使用预定义的颜色名称,如’red’、‘blue’、'green’等。
  • 使用RGB元组指定颜色,如(0.1, 0.2, 0.3),表示红色、绿色和蓝色的强度。
  • 使用16进制字符串指定颜色,如’#FF0000’表示纯红色。
plt.scatter(x, y, c='red')

在这里插入图片描述

4、Matplotlib散点图设置两组散点图

要设置两组散点图,可以使用两次scatter()函数来绘制不同的数据点,并可以分别指定它们的颜色、大小等属性。

以下是设置两组散点图的示例代码:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
x1 = np.random.rand(50)
y1 = np.random.rand(50)
x2 = np.random.rand(50)
y2 = np.random.rand(50)

# 设置散点图1的属性
plt.scatter(x1, y1, c='red', label='Group 1', alpha=0.5)

# 设置散点图2的属性
plt.scatter(x2, y2, c='blue', label='Group 2', alpha=0.5)

# 设置标题和坐标轴标签
plt.title('Scatter Plot')
plt.xlabel('X')
plt.ylabel('Y')

# 显示图例
plt.legend()

# 显示图形
plt.show()

在这里插入图片描述

在上面的代码中,我们生成了两组随机的横坐标和纵坐标数据,分别用x1、y1和x2、y2表示。然后使用两次scatter()函数分别绘制了两组散点图。第一组使用红色(c=‘red’)表示,第二组使用蓝色(c=‘blue’)表示。我们还通过label参数为每组散点图指定了标签,以便在图例中显示。通过设置alpha参数来调整散点的透明度,增强可视效果。
最后,我们设置了标题和坐标轴标签,并通过legend()函数显示图例,以区分两组散点图。

5、Matplotlib散点图使用随机数来设置散点图

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
x = np.random.rand(100)
y = np.random.rand(100)
colors = np.random.rand(100)
sizes = np.random.randint(10, 100, 100)

# 绘制散点图
plt.scatter(x, y, c=colors, s=sizes, alpha=0.7)

# 设置标题和坐标轴标签
plt.title('Scatter Plot with Random Data')
plt.xlabel('X')
plt.ylabel('Y')


# 显示图形
plt.show()

在这里插入图片描述

我们使用随机数生成了100个横坐标 x 和纵坐标 y,以及每个点的颜色 colors 和大小 sizes。其中,colors 是一个由随机数生成的数组,用于指定每个点的颜色,而 sizes 是一个由随机数生成的整数数组,用于指定每个点的大小。
然后,我们使用 scatter() 函数绘制散点图,其中 c 参数用于指定颜色,s 参数用于指定大小。通过设置 alpha 参数,可以调整点的透明度。

6、Matplotlib散点图显示颜色条 Colormap

如果要显示颜色条,需要使用 plt.colorbar() 方法:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
x = np.random.rand(100)
y = np.random.rand(100)
colors = np.random.rand(100)
sizes = np.random.randint(10, 100, 100)

# 绘制散点图
plt.scatter(x, y, c=colors, s=sizes, alpha=0.7)

# 设置标题和坐标轴标签
plt.title('Scatter Plot with Random Data')
plt.xlabel('X')
plt.ylabel('Y')

# 显示颜色条
plt.colorbar()

# 显示图形
plt.show()

在这里插入图片描述

换个颜色条参数, 设置为 cmap=‘plasma’:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
x = np.random.rand(100)
y = np.random.rand(100)
colors = np.random.rand(100)
sizes = np.random.randint(10, 100, 100)

# 绘制散点图
plt.scatter(x, y, c=colors,cmap='plasma', s=sizes, alpha=0.7)

# 设置标题和坐标轴标签
plt.title('Scatter Plot with Random Data')
plt.xlabel('X')
plt.ylabel('Y')

# 显示颜色条
plt.colorbar()

# 显示图形
plt.show()

在这里插入图片描述
除了’plasma’颜色条之外,Matplotlib还提供了许多其他的内置颜色条供选择。以下是一些常用的内置颜色条:

‘viridis’‘afmhot_r’
‘inferno’‘magma’
‘jet’‘hot’
‘cool’‘spring’
‘summer’‘autumn’
‘winter’‘gray’
‘bone’‘copper’
‘pink’‘YlOrRd’
‘BuPu’‘GnBu’
‘OrRd’

你可以在Matplotlib的官方文档中查看完整的颜色条列表:https://matplotlib.org/stable/tutorials/colors/colormaps.html


?文章下方有交流学习区!一起学习进步!???
?首发CSDN博客,创作不易,如果觉得文章不错,可以点赞?收藏?评论?
?你的支持和鼓励是我创作的动力❗❗❗

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。