为散点图添加图例

Posted

技术标签:

【中文标题】为散点图添加图例【英文标题】:Add Legend for scatter plot 【发布时间】:2019-08-22 23:00:45 【问题描述】:

下面是散点图的代码。

  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

【问题讨论】:

参见例如here. 【参考方案1】:

一种选择是为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()

【讨论】:

以上是关于为散点图添加图例的主要内容,如果未能解决你的问题,请参考以下文章