简体   繁体   English

为散点图添加图例

[英]Add Legend for scatter plot

Below is the code for scatter plot. 下面是散点图的代码。

  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()`

How can I add legend? 如何添加图例? Above code is displaying only one label as Dimension_y . 上面的代码只显示一个标签Dimension_y

One option is to assign a label to plt.scatter() . 一种选择是为plt.scatter()分配标签。 The legend will only appear if you plot the data with a label: 仅当您使用标签绘制数据时,才会显示图例:

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()

情节与传说

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM