首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python -如何标记附加轴/颜色栏

Python -如何标记附加轴/颜色栏
EN

Stack Overflow用户
提问于 2021-06-07 03:42:04
回答 1查看 40关注 0票数 0

我正在尝试生成一个简单的虹膜数据集的图,绘制花冠长度与花冠宽度的关系图。我想在这个图旁边创建一个列表条,并只用0、1和2来标记该列表条。我成功地生成了图和颜色条,但颜色条的标记不是我想要的方式:

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets


# import the Iris-dataset from sklearn
iris = datasets.load_iris()
data = np.array(iris.data)
labels = np.array(iris.target)


fig = plt.figure()
img = plt.scatter(data[:, 0], data[:, 1], c=labels, cmap='rainbow', edgecolor='k', s=50)

plt.xlabel("Sepal Length [cm]", fontname="Calibri", fontsize=14, labelpad=14)
plt.ylabel("Sepal Width [cm]", fontname="Calibri", fontsize=14, labelpad=14)
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)

cax = fig.add_axes([0.93, 0.09, 0.02, 0.8])
cax.tick_params(axis='y', labelsize=12)
cax.set_yticks(ticks=[0, 1, 2], minor=False)
cax.set_yticklabels(labels=['0', '1', '2'], minor=False)

fig.colorbar(img, cax=cax, orientation="vertical")
plt.show()

有人能给我解释一下如何去掉我不想要的标签吗?我只想在我的颜色条上看到0,1和2。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-07 04:13:42

我根据this文档对您的代码进行了一些编辑,它做到了:

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from pylab import cm

# import the Iris-dataset from sklearn
iris = datasets.load_iris()
data = np.array(iris.data)
labels = np.array(iris.target)


fig = plt.figure()
img = plt.scatter(data[:, 0], data[:, 1], c=labels, cmap='rainbow', edgecolor='k', s=50)

plt.xlabel("Sepal Length [cm]", fontname="Calibri", fontsize=14, labelpad=14)
plt.ylabel("Sepal Width [cm]", fontname="Calibri", fontsize=14, labelpad=14)
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)

cax = fig.add_axes([0.93, 0.09, 0.02, 0.8])
cax.tick_params(axis='y', labelsize=12)
# cax.set_yticks(ticks=[0, 1, 2], minor=False)
# cax.set_yticklabels(labels=['0', '1', '2'], minor=False)

cbar = fig.colorbar(img, cax=cax, ticks=[0, 1, 2])
cbar.ax.set_yticklabels(['0', '1', '2'])

# fig.colorbar(img, cax=cax, orientation="vertical")
plt.show()

结果图:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67863064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档