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

可视化 3x3 numpy 数组并将其保存为新的形状数组:400x600

可视化 3x3 numpy 数组并将其保存为新的形状数组:400x600

慕的地6264312 2021-11-02 19:09:03
我有这样的数组:import numpy as npnp.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])我想以某种很好的方式进行可视化,例如:但分辨率为:400 x 600。所以最后我想要有新的形状数组 (400, 600) 如果使用以下方法绘制:import matplotlib.pyplot as pltplt.imshow(my_new_array)将显示如上的图像。是否可以?有什么包可以帮助我吗?[编辑:]@Mad Physicist 评论后,我研究了乳胶,以下代码可以完成这项工作:\documentclass{article}\usepackage{amsmath}\begin{document}    \[      \begin{bmatrix}    1 & 2 & 3 \\    4 & 5 & 6 \\    7 & 8 & 9  \end{bmatrix}\]\end{document}并且matplotlib可以选择在轴和标题上使用文本,但我不知道如何在绘图正文中使用它。也许空情节并在中间使用标题?[edit2]:这里的第二个答案最接近我需要的: 使用 Python 将乳胶代码转换为图像(或其他可显示格式) 但是,正如我在下面的评论中所述,我在使用使用 matplotlib 和的不同方法的 kaggle 上遇到了错误乳胶:FileNotFoundError: [Errno 2] No such file or directory: 'latex': 'latex'
查看完整描述

2 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

Matplotlib 可以使用 LaTeX 渲染文本,因此您可以利用它来进行这种可视化:


import numpy as np

import matplotlib.pyplot as plt


def show_mat(a, font_size, resolution=None, dpi=None):

    resolution = resolution or (600, 400)

    dpi = dpi or 100

    res_x, res_y = resolution

    inc_x = res_x / dpi

    inc_y = res_y / dpi

    rows, cols = a.shape

    fig = plt.figure(figsize=(inc_x, inc_y), dpi=dpi)

    ax = fig.add_subplot(111)

    ax.set_axis_off()

    a_str = r' \\ '.join(' & \quad & '.join(map(str, row)) for row in a)

    alig = 'c' * (2 * cols - 1)

    tex = r"$\left[\begin{{array}}{{{}}}{}\end{{array}}\right]$".format(alig, a_str)

    ax.text(0.5, 0.5, tex, size=font_size,

            horizontalalignment='center', verticalalignment='center',

            transform=ax.transAxes)


show_mat(np.arange(1, 10).reshape(3, 3), font_size=50)

输出:

//img1.sycdn.imooc.com//61811d6d00014c9b05380374.jpg

查看完整回答
反对 回复 2021-11-02
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

您使用的 Kaggle 内核似乎无法访问 LaTex 解释器。


如果您只想为演示文稿创建一些图像,您可以查看Latex 2 png。在这里你必须输入


\begin{bmatrix}

    1 & 2 & 3 \\

    4 & 5 & 6 \\

    7 & 8 & 9


  \end{bmatrix}

这将导致以下图像:

//img1.sycdn.imooc.com//61811d810001a6b103710315.jpg

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

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号