如何在 Matplotlib 中制作散点图的图例
图例是对图中各种元素的简单描述。我们可以使用 matplotlib.pyplot.legend
函数来生成散点图的图例。
在 Maptlotlib 2D
散点图中添加图例
import numpy as np
import matplotlib.pyplot as plt
x=[1,2,3,4,5]
y1=[i**2 for i in x]
y2=[2*i+1 for i in x]
plt.scatter(x,y1,marker="x",color='r',label="x**2")
plt.scatter(x,y2,marker="o",color='b',label="2*x+1")
plt.legend()
plt.show()
输出:
我们在图中有两个单独的散点图:一个用 x
表示,另一个用 o
标记。我们在生成图例时给每个散点图分配 label
作为标签。然后,我们使用 legend()
函数在图中创建图例,最后使用 show()
方法显示整个图。
我们也可以直接将一个标签元组作为参数传递给 legend()
方法,并使用 legend()
方法的 loc
参数改变图例的位置。
import numpy as np
import matplotlib.pyplot as plt
x=[1,2,3,4,5]
y1=[i**2 for i in x]
y2=[2*i+1 for i in x]
plt.scatter(x,y1,marker="x",color='r')
plt.scatter(x,y2,marker="o",color='b')
plt.legend(("x**2","2*x+1"),loc="center left")
plt.show()
输出:
这个过程会创建一个带有两个散点图的图形,并在轴的边框的中左位置放置一个图例。
在 Matplotlib 3D
散点图上添加图例
import matplotlib.pyplot as plt
x=[1,2,3,4,5]
y=[2,1,4,5,6]
z1=[i+j for (i,j) in zip(x, y)]
z2=[3*i-j for (i,j) in zip(x, y)]
axes = plt.subplot(111, projection='3d')
axes.plot(x,y,z1,"x",label="x+y")
axes.plot(x,y,z2,"o",label="3*x-y")
plt.legend(loc="upper left")
plt.show()
输出:
要为 3D
散点图创建图例,我们使用 plot()
方法而不是 scatter()
方法;这是因为 legend()
方法不支持 Axes3D
实例的 scatter()
方法返回的 Patch3DCollection
。
相关文章
在 C# 中实现计数器
发布时间:2024/02/03 浏览次数:188 分类:编程语言
-
在本指南中,我们将了解如何使用两个按钮在 C# 中创建递增和递减计数器。在本指南中,我们将了解如何使用两个按钮在 C# 中创建递增和递减计数器。例如,如果有两个按钮,A 和 B。
在 C# 中将双精度转换为字符串
发布时间:2024/01/16 浏览次数:254 分类:编程语言
-
在本指南中,我们将学习如何在 C# 中将双精度数转换为字符串。本指南将教我们在 C# 中将 double 转换为 string。方法很简单,我们只使用内置函数将 double 转换为字符串格式。
C# 中的字符串分词器
发布时间:2024/01/16 浏览次数:128 分类:编程语言
-
在 C# 中,我们可以使用 string.Split() 方法将字符串标记为基于某些分隔符或定界符的单词标记。
C++ 中的 std::gcd 函数
发布时间:2024/01/02 浏览次数:292 分类:C++
-
本文介绍了 C++ 中 STL 数值库中的 std::gcd 函数。本文将解释如何在 C++ 中使用 STL 数值库中的 std::gcd 和其他有用的数学函数。
跳转到 switch 语句中的 Case 标签
发布时间:2023/08/22 浏览次数:164 分类:C++
-
本文将讨论 C++ 中 switch 语句的使用。 此外,还将讨论使用 switch 语句时可能出现的错误,包括跳转到 case 标签错误。C++ 中的 switch 语句