文章目录
专栏导读
✍ 作者简介: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博客,创作不易,如果觉得文章不错,可以点赞👍收藏📁评论📒
📢你的支持和鼓励是我创作的动力❗❗❗
版权归原作者 i阿极 所有, 如有侵权,请联系我们删除。