首页 > 解决方案 > 为情节添加标题

问题描述

我有下面的代码,我想写一个标题我该怎么做。原标题是“主成分图”,所以我想换一个。

import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from yellowbrick.datasets import load_credit
from yellowbrick.features import PCA
import matplotlib.pyplot as plt

# Program extracting first column
text = data.iloc[:,0]
lable = data.iloc[:,1]

vecot_tfidf = CountVectorizer(ngram_range=(1,1))
en_vec = vecot_tfidf.fit_transform(text)
fe = en_vec.toarray()

visualizer = PCA(scale=False, colors=['red','blue','green']) 
visualizer.fit_transform(fe, lable)
visualizer.show()

标签: python

解决方案


PCA 类配置有默认标题“Principal Component Plot”,因此在实例化时设置标题将不起作用。因此,我们扩展了该类并将其配置为在实例化时接受标题。show()方法完成绘图(添加标题、轴标签等),然后渲染图像。finalize()是为渲染准备图形的函数,添加图例、标题、轴标签等最终修饰。因此,您必须创建一个 PCA 意味着定义一个扩展 PCA 或其子类之一的类,然后实现几种方法。

from yellowbrick.features import PCA

class myPCA(PCA):
    def __init__(self, ax=None, **kwargs):
        super(myPCA, self).__init__(ax, **kwargs)
    def fit(self, X, y=None):
        self.draw(X)
        return self
    def draw(self, X):
        self.ax.plt(X)
        return self.ax
    def finalize(self):
        self.set_title()

#intantiating myPCA works with title
visualizer = myPCA(scale=False, colors=['red','blue','green'],title = "My title") 

#intantiating PCA will not work with title. You can uncomment following line and check
#visualizer = PCA(scale=False, colors=['red','blue','green'],title = "My title") 

visualizer.show()

我希望这行得通!


推荐阅读