有没有办法将颜色点链接到具有不同图例的字典?
Posted
技术标签:
【中文标题】有没有办法将颜色点链接到具有不同图例的字典?【英文标题】:is there a way to link color point to a dictionary with the different legend? 【发布时间】:2019-10-19 20:00:11 【问题描述】:我想在做散点图和着色后将标签绑定到颜色, 有没有办法将颜色作为 arg,为每种颜色设置一个图例,如果颜色在图中,则将图例/标签添加到图中
我有一个大的 6D 点数据集 我以二维打印它们(D1vsD2,D1vsD3 ....) 我根据具体数据给它们颜色
我有一本字典,上面有不同的标签,对应颜色的含义
matrix = [[1,1,1,1,1,2]
[2,2,2,2,2,3]
[3,3,3,3,3,4]]
legend = 0: "this is blue",1:"this is orange",2:"this is green" ...
#obviously my dataset is bigger (matrix with 25 000 lines) so it is an example
data = np.asarray(matrix)
for x in range(6):
for y in range(6):
if x != y:
colors = []
for line in raw_data:
if x==1 and y==2:
colors.append('C0') #blue
elif x==0 and y==2:
colors.append('C1') #orange
elif x==1 and y==3:
colors.append('C2') #green
plt.figure()
plt.scatter(data.T[x],data.T[y], s=50, linewidth=0, c=colors, alpha=0.7)
结果是一个漂亮的图表,有 2 个轴,对应于第 1 列和第 2 列,每个点都有点和颜色(如果没有引用,则没有)
如果图例是图中所述颜色的点,我想在图中添加一个图例
【问题讨论】:
由于您似乎是 Stack Overflow 的新手,您应该阅读How to create a Minimal, Complete, and Verifiable example 如果可以的话,我只会提供一张图片并要求链接图例着色,我如何在代码中设置颜色取决于一些外部数据,这些数据提供起来会很复杂 谷歌搜索“matplotlib 传奇代理艺术家”。 【参考方案1】:import matplotlib.patches as mpatches
import matplotlib.pyplot as plt
red_patch = mpatches.Patch(color='red', label='The red data')
plt.legend(handles=[red_patch])
你可以创建一个更长的句柄是你创建一个 mpatches.Patches 列表 来自https://matplotlib.org/users/legend_guide.html
【讨论】:
以上是关于有没有办法将颜色点链接到具有不同图例的字典?的主要内容,如果未能解决你的问题,请参考以下文章