为散点图添加图例

问题描述 投票:0回答:1

下面是散点图的代码。

  for_tsne = np.hstack((X_embedding, y.values.reshape(-1,1)))
  for_tsne_df = pd.DataFrame(data=for_tsne, columns= 
                ['Dimension_x','Dimension_y','Labels'])
  colors = {0:'red', 1:'blue', 2:'yellow'}
  #colors = ['red','blue']
  plt.scatter(for_tsne_df['Dimension_x'], 
  for_tsne_df['Dimension_y'],c=for_tsne_df['Labels'].apply(lambda x: 
                               colors[x]))
  plt.title("TSNE with BOW encoding of project_title")
  plt.xlabel("Dimension_x")
  plt.ylabel("Dimension_y")
  plt.legend()
  plt.show()`

如何添加图例?上面的代码只显示一个标签Dimension_y

python matplotlib legend data-science scatter-plot
1个回答
0
投票

一种选择是为plt.scatter()分配标签。仅当您使用标签绘制数据时,才会显示图例:

import matplotlib.pyplot as plt
import numpy as np

x = np.random.random(size=(100))
y = np.random.random(size=(100))
x1 = np.random.random(size=(100))
y1 = np.random.random(size=(100))

plt.scatter(x,y, label='sample 1')
plt.scatter(x1,y1, label='sample 2')
plt.title("TSNE with BOW encoding of project_title")
plt.xlabel("Dimension_x")
plt.ylabel("Dimension_y")
plt.legend()
plt.show()

Plot with legend

© www.soinside.com 2019 - 2024. All rights reserved.