将图例描述设置为颜色表示

时间:2019-04-17 15:55:53

标签: python python-3.x matplotlib legend

我正在绘制数据表的散点图。它具有一段时间内不同建筑物产生的KW值。

散点图的每种颜色都代表一栋建筑物。

我不知道该如何绘制图例以及建筑物和图中的颜色。

这是我的绘图代码:

def plot_data(dataframe, x_values, y_values):
    plt.scatter(dataframe[x_values], dataframe[y_values], alpha=0.5, c=dataframe['ID_SEDE'])
    plt.title('Scatter plot ' + y_values)
    plt.xlabel(x_values)
    plt.ylabel(y_values)
    plt.legend(T_MEDIDAS_CO_DROP_FILTERED['ID_SEDE'].unique())
    plt.show()

该图仅将我的第一个ID_SEDE显示为图例上的蓝点:

Scatter Plot Results

我该怎么办?

1 个答案:

答案 0 :(得分:0)

解决了!

我对编码不好。我进行了一个循环,以便“定位”每座建筑物的df值并将其添加到散点图中:

buildings = dataframe['ID_SEDE'].unique()
plt.figure(figsize=(15, 15), dpi=80)
for building in buildings:
    dataframe_build = dataframe.loc[(dataframe['ID_SEDE'] == building)]
    plt.scatter(dataframe_build[x_values], dataframe_build[y_values], alpha=0.5, label=('SEDE ' + str(sede)))
    plt.title('Scatter plot ' + y_values)
    plt.xlabel(x_values)
    plt.xlabel(y_values)
    plt.legend()
plt.show()

这是输出: Figure