Yellowbrick 更改图例并添加标题
Yellowbrick change legend and add title
我用 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
,确实创建了一个新的图例,但我无法删除原来的图例。
如何做到?
您可以使用 title
参数修改 Yellowbrick 图的标题,并使用 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 object 使用您的情节需要的任何自定义图例位置:
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()
我用 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
,确实创建了一个新的图例,但我无法删除原来的图例。
如何做到?
您可以使用 title
参数修改 Yellowbrick 图的标题,并使用 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 object 使用您的情节需要的任何自定义图例位置:
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()