如何使用 matplotlib 指定颜色? [复制]
Posted
技术标签:
【中文标题】如何使用 matplotlib 指定颜色? [复制]【英文标题】:How to specify colors using matplotlib? [duplicate] 【发布时间】:2021-10-30 03:54:25 【问题描述】:我有一组数据,我想按年份对它们进行聚类!最后我想显示每种颜色与哪一年有关?这是我的代码:
col = [x[0].get_year() for x in vectors]
plt.scatter(X_train_pca[:, 0], X_train_pca[:, 1], c=col)
n=[x[0].title for x in vectors]
for i, txt in enumerate(n):
plt.annotate(_(txt), (x[i], y[i]))
plt.title("Poem Clustering by year")
plt.savefig(newpath+"Clustering_by_year"+".png", bbox_inches='tight')
print("DONE!")
这就是我的意思!我想要类似的东西。 我不知道如何搜索这个,我尝试了,但我找不到任何相关的东西。
【问题讨论】:
【参考方案1】:改编自here的答案,我们可以使用seaborn来做到这一点。 seaborn 中的大多数地块都有一个 hue
参数,这就是您要寻找的。在这种情况下,我将色调设置为 species
,在您的情况下,它将是年份或任何您的列名。
当然,在生成标签的代码的最后部分,您需要使用正确的变量进行更新。
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
df_iris=sns.load_dataset("iris")
plt.figure(figsize=(20,10))
p1 = sns.scatterplot(x='sepal_length', # Horizontal axis
y='sepal_width', # Vertical axis
data=df_iris, # Data source
legend=True,
hue='species')
for line in range(0,df_iris.shape[0]):
p1.text(df_iris.sepal_length[line]+0.01, df_iris.sepal_width[line],
df_iris.species[line], horizontalalignment='left',
size='medium', color='black', weight='semibold')
【讨论】:
以上是关于如何使用 matplotlib 指定颜色? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何将颜色作为第三维添加到 matplotlib 散点图? [复制]
如何更改 matplotlib 中绘图的轴、刻度和标签的颜色
Python使用matplotlib函数subplot可视化多个不同颜色的折线图为指定的子图添加图例信息(legend)