我用matplotlib制作了一个简单的散点图,显示了来自2个数值变量(varA和varB)的数据,这些数据的颜色是我用第三个分类字符串变量(col)定义的,包含10个唯一的颜色(对应于另一个具有10个唯一名称的字符串变量),所有这些都在相同的Pandas DataFrame中,有100多行。 有没有一种简单的方法可以为这个散点图创建一个图例,显示独特的彩色点及其相应的类别名称?或者我应该以某种方式将数据分组并在一个子图中绘制每个类别?到目前为止,我得到的是:
import matplotlib.pyplot as plt
from matplotlib import colors as mcolors
varA = df['A']
varB = df['B']
col = df['Color']
plt.scatter(varA,varB, c=col, alpha=0.8)
plt.legend()
plt.show()
考虑到,
Color
是包含所有颜色和标签的列,您可以简单地执行以下操作。在一种简单的方法是按颜色对数据进行分组,然后在一个图上绘制所有数据。熊猫有一个内置的groupby功能。例如:
请注意,我们为每一组数据调用一次
plt.scatter
。然后我们只需要调用plt.legend
和plt.show
一旦所有数据都在我们的绘图中。在相关问题 更多 >
编程相关推荐