matplotlib 如何在图例中去掉小数点

56lgkhnf  于 2023-10-24  发布在  其他
关注(0)|答案(2)|浏览(113)

下面是我用来制作可视化的代码:

results = pd.DataFrame(reduced_data,columns=['pca1','pca2','pca3','pca4','pca5','pca6','pca7'])
ax = sns.scatterplot(x="pca1", y="pca2", hue=H12022_full['cluster'],palette=['green','orange','brown','dodgerblue', 'yellow', 'blue', 'red'], data=results)
ax.get_xaxis().set_major_formatter(mpl.ticker.StrMethodFormatter('{x:,.0f}'))
ax.get_yaxis().set_major_formatter(mpl.ticker.StrMethodFormatter('{x:,.0f}'))

结果如下:

我想知道如何去掉图例中的小数。所以不是1.0而是1?

vxqlmq5t

vxqlmq5t1#

你可以尝试以下方法:

actual_legends = ax.get_legend_handles_labels()[1]
legend = [int(float(l)) for l in actual_legends]
plt.legend(legend)
qgelzfjb

qgelzfjb2#

正如@mwaskom评论的那样,使用hue=H12022_full['cluster'].astype(int),但是要更改int而不是str。

相关问题