为了账号安全,请及时绑定邮箱和手机立即绑定

pycharm中使用plt.show()的兼容性错误

pycharm中使用plt.show()的兼容性错误

慕丝7291255 2021-04-04 10:17:52
我想根据pycharm中的以下代码绘制pca组件图。import numpy as npimport matplotlib.pyplot as pltfrom sklearn import linear_model, decomposition, datasetsfrom sklearn.pipeline import Pipelinefrom sklearn.model_selection import GridSearchCVlogistic = linear_model.LogisticRegression()pca = decomposition.PCA()pipe = Pipeline(steps = [('pca',pca), ('logistic', logistic)])digits = datasets.load_digits()x_digits = digits.datay_digits = digits.target# plot pca spectrumpca.fit(x_digits)plt.figure(1, figsize=(4,3))# clear the current figureplt.clf()# add axesplt.axes([.2,.2,.7,.7])plt.plot(pca.explained_variance_, linewidth = 2)plt.xlabel('n_components')plt.ylabel('explained_variance_')# predictionn_comp = [20, 40, 64]# logspace default is base 10, this is 10^-4 to 10^4cs = np.logspace(-4, 4, 3)# parameters of pipelines can be set using '__' separated parameter names:estimator = GridSearchCV(pipe,                         dict(pca__n_components = n_comp,                              logistic__C = cs))estimator.fit(x_digits, y_digits)plt.axvline(estimator.best_estimator_.named_steps['pca'].n_components,            linestyle = ':',label = 'n_compoenents chosen')plt.legend(prop = dict(size = 12))plt.axis('tight')plt.show()我在spyder中尝试了相同的代码,但效果却令人吃惊。pycharm plot设置有什么问题?spyder和pycharm都使用python 3.5。
查看完整描述

2 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

快速解决方案:在Pycharm中禁用Python Scientific plot窗口(然后它将使用默认的matplotlib后端)

File > Settings > Tools >  Python > show plots in tool window


查看完整回答
反对 回复 2021-04-20
  • 2 回答
  • 0 关注
  • 507 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信