python savefig_matplotlib + python:fig.figimage和fig.savefig的圖尺寸

這裏是我的陰謀代碼

import matplotlib as mpl

mpl.use('Agg')

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(5.5,3),dpi=300)

ax = fig.add_subplot(111)

ax.grid(True,which='both')

ax.plot([0,1,2,3],[5,2,6,3],'o')

xlabel = ax.set_xlabel('xlab')

ax.set_ylabel('ylab')

from PIL import Image

import numpy as np

im = Image.open('./lib/Green&Energy-final-roundonly_xsmall.png')

im_w = im.size[0]

im_h = im.size[1]

# We need a float array between 0-1, rather than

# a uint8 array between 0-255

im = np.array(im).astype(np.float)/255

fig.figimage(im,fig.bbox.xmax - im_w - 2,2,zorder=10)

fig.savefig('test.png',bbox_extra_artists=[xlabel], bbox_inches='tight')

這個數字已經513x306像素保存爲PDF格式,但fig.bbox.xmax值1650.0 ...這就是爲什麼我的身影沒有出現....我怎麼能在打印之前知道圖像的大小,所以我可以知道把我的im放在哪裏?

感謝

2013-05-02

otmezger

+1

取出'bbox_inches ='tight''這是收縮包裝邊框,所以你失去了對最終尺寸的一些控制。 –

2013-05-02 14:50:48

+0

[這] [1]答案可能是你要找的。 [1]:http://stackoverflow.com/a/15145013/2297781 –

2015-09-15 15:52:25

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn import datasets from mpl_toolkits.mplot3d import Axes3D from sklearn.decomposition import PCA from sklearn.preprocessing import StandardScaler data=pd.read_csv('H:/analysis_results/mean_HN.csv') data.head() x=data.iloc[:,1:7] y=data.iloc[:,6] scaler=StandardScaler() scaler.fit(x) x_scaler=scaler.transform(x) print(x_scaler.shape) pca=PCA(n_components=3) x_pca=pca.fit_transform(x_scaler) print(x_pca.shape) #查看各个主成分对应的方差大小和占全部方差的比例 #可以看到前2个主成分已经解释了样本分布的90%的差异了 print('explained_variance_:',pca.explained_variance_) print('explained_variance_ratio_:',pca.explained_variance_ratio_) print('total explained variance ratio of first 6 principal components:',sum(pca.explained_variance_ratio_)) #将分析的结果保存成字典 result={ 'explained_variance_:',pca.explained_variance_, 'explained_variance_ratio_:',pca.explained_variance_ratio_, 'total explained variance ratio:',np.sum(pca.explained_variance_ratio_)} df=pd.DataFrame.from_dict(result,orient='index',columns=['value']) df.to_csv('H:/analysis_results/Cluster analysis/pca_explained_variance_HN.csv') #可视化各个主成分贡献的方差 #fig1=plt.figure(figsize=(10,10)) #plt.rcParams['figure.dpi'] = 300#设置像素参数值 plt.rcParams['path.simplify'] = False#禁用抗锯齿效果 plt.figure() plt.plot(np.arange(1,4),pca.explained_variance_,color='blue', linestyle='-',linewidth=2) plt.xticks(np.arange(1, 4, 1))#修改X轴间隔为1 plt.title('PCA_plot_HN') plt.xlabel('components_n',fontsize=16) plt.ylabel('explained_variance_',fontsize=16) #plt.savefig('H:/analysis_results/Cluster analysis/pca_explained_variance_HN.png') plt.show()报错'numpy.float64' object is not iterable,如何修改
最新发布
06-10

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值