在Python中,可以使用pandas和matplotlib库来按照特定条件对点进行分组,并从中制作图例。以下是一个示例代码:
import pandas as pd
import matplotlib.pyplot as plt
# 创建一个示例数据集
data = {'x': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'y': [10, 5, 8, 7, 6, 4, 3, 2, 9, 1],
'group': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C']}
df = pd.DataFrame(data)
# 按照group列进行分组
groups = df.groupby('group')
# 创建一个空的图例列表
legend_elements = []
# 循环遍历每个分组
for name, group in groups:
# 绘制散点图
plt.scatter(group['x'], group['y'], label=name)
# 创建图例元素,并添加到图例列表中
legend_elements.append(plt.Line2D([0], [0], marker='o', color='w', label=name, markerfacecolor='w', markersize=10))
# 创建图例
plt.legend(handles=legend_elements)
# 显示图形
plt.show()
在上面的代码中,首先创建了一个示例数据集,包含了x、y和group三列。然后使用groupby
函数按照group列进行分组。接下来,使用循环遍历每个分组,利用matplotlib的scatter函数绘制散点图,并使用label参数为每个分组设置标签。同时,创建图例元素,并将其添加到图例列表中。最后,使用plt.legend
函数创建图例,并使用plt.show
函数显示图形。
这样,就可以按照特定条件对点进行分组,并从中制作图例。
上一篇:按照特定条件从列表中删除元组
下一篇:按照特定条件对数组进行排序