哎呦-_-不错 2022-03-13 22:37 采纳率: 100%
浏览 1256
已结题

python中matplotlib绘图时,画布为正方形,但是里面的图不是正方形,该怎么设置

img


    # T-SNE可视化
    # 取'Conv1D_1'层 的输出为输出新建为model,采用函数模型
    Conv1D_1_layer_model = Model(inputs=model.input, outputs=model.get_layer('Conv1D_1').output)
    out = Conv1D_1_layer_model.predict(x_train)
    print(out.shape)
    out = out.reshape(7000, -1)
    # np.argmax返回最大数的索引,即可将one-hot编码转换为整数
    color = [np.argmax(i) for i in y_train]
    color = np.stack(color, axis=0)
    n_neighbors = 10  # 一共有多少个类别
    n_components = 2  # 降维成几维 2或者3

    # 创建自定义图像
    fig = plt.figure(figsize=(15,15))  # 指定图像的宽和高
    # t-SNE的最终结果的降维与可视化
    ts = manifold.TSNE(n_components=n_components, init='pca', random_state=0)
    y = ts.fit_transform(out)
    ax1 = fig.add_subplot(3, 1, 2)


    def colormap():
        return mpl.colors.LinearSegmentedColormap.from_list \
            ('cmap', ['#8B0000', '#FF6A6A', '#00FFFF', '#F4A460', '#00CDCD', '#0000FF', '#40E0D0', '#98F5FF', '#FFFF00',
                      '#FF0000'], 256)
        # ('cmap', ['#FFFFFF', '#98F5FF', '#00FF00', '#FFFF00','#FF0000', '#8B0000'], 256) #white, CadetBlue1, Green1, Yellow1, Red,DarkRed


    # cm = plt.cm.Spectral
    cm = colormap()
    plt.scatter(y[:, 0], y[:, 1], c=color, cmap=cm)

    ax1.set_title('conv1', fontsize=15)
    plt.show()
  • 写回答

1条回答 默认 最新

  • ash062 2022-03-13 22:58
    关注

    你这个是整个画布的尺寸

    fig = plt.figure(figsize=(15,15))  # 指定图像的宽和高
    

    然后把画布分成了3行1列,在其中第2个子画布上作的图,自然长宽不一致(3:1)

    ax1 = fig.add_subplot(3, 1, 2)
    

    可改成

    ax1 = fig.add_subplot(1, 1, 1)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月28日
  • 已采纳回答 3月20日
  • 创建了问题 3月13日

悬赏问题

  • ¥15 微信小程序 用oss下载 aliyun-oss-sdk-6.18.0.min client报错
  • ¥15 ArcGIS批量裁剪
  • ¥15 labview程序设计
  • ¥15 为什么在配置Linux系统的时候执行脚本总是出现E: Failed to fetch http:L/cn.archive.ubuntu.com
  • ¥15 Cloudreve保存用户组存储空间大小时报错
  • ¥15 伪标签为什么不能作为弱监督语义分割的结果?
  • ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
  • ¥15 游戏盾如何溯源服务器真实ip?
  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。