python - Yellowbrick 更改图例并添加标题
问题描述
我用 Yellowbrick RadViz 创建了一个图表:
visualizer = RadViz(classes=labels)
visualizer.fit(X, y)
visualizer.transform(X)
visualizer.show()
如您所见,图例覆盖了一些功能名称: 此外,我想编辑标题。我试过:
visualizer.ax.set_title("new title")
visualizer.fig.legend(bbox_to_anchor=(1.02, 1), loc=0, borderaxespad=0., title = "level")
但是set_title
没有效果。使用fig.legend
,确实创建了一个新图例,但我无法删除原始图例。
怎么做到呢?
解决方案
您可以使用该参数修改 Yellowbrick 图的标题title
,并使用该size
参数来增加轴的大小,这可能有助于重叠标签。大小被指定为像素尺寸的元组:
from yellowbrick.features import RadViz
from yellowbrick.datasets import load_occupancy
X, y = load_occupancy()
visualizer = RadViz(
classes=["occupied", "vacant"],
title="My custom title",
size=(800, 600)
)
visualizer.fit(X, y)
visualizer.transform(X)
visualizer.show()
或者,可以通过绕过可视化工具show()
和finalize()
方法来跳过添加 Yellowbrick 图例和标题的步骤,然后使用绘图所需的任何自定义图例位置直接修改 ax 对象:
from yellowbrick.features import RadViz
from yellowbrick.datasets import load_occupancy
X, y = load_occupancy()
visualizer = RadViz()
visualizer.fit(X, y)
visualizer.transform(X)
custom_viz = visualizer.ax
custom_viz.set_title("New title")
custom_viz.figure.legend(
bbox_to_anchor=(1.02, 1),
borderaxespad=0.0,
title="level",
loc=0,
)
custom_viz.figure.show()
推荐阅读
- javascript - 在反应中手动设置初始值后无法更改输入字段的值
- python-3.x - 从 Vscode 中的另一个 python 文件导入一个类
- javascript - TypeScript with React - 试图从 React 类型中定义的 HTMLProps 中省略一个属性
- python - Python:Rosalind 共识和简介
- python - 用Python中的一个对象替换数组中的空对象
- javascript - 如何使有角度的子组件呈现在其他所有内容之上
- javascript - activeBackgroundColor 在 DrawerItem ReactNavigation v5 中不起作用
- reactjs - 反应引导元素不居中
- python-3.x - Python/Selenium - 如何解析 URL 并单击下一页?
- javascript - 如何比较两个字符串日期时间?