首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在pylatex中使用matplotlib绘制多个独立的图形

在pylatex中使用matplotlib绘制多个独立的图形
EN

Stack Overflow用户
提问于 2019-11-26 17:19:25
回答 1查看 504关注 0票数 1

我正在尝试使用pylatex和matplotlib在一个pdf中绘制多个不同的图。下面的代码可以很好地生成两个图,但是,当我只需要两个单独的图时,第二个图包含来自第一个图的数据,即(x,y)在一个图中,而(x_1,y_1)在另一个图中。

问题是,当我为第二个图使用plt.plot时,它会将第二个图的数据添加到第一个图中。

MWE代码:

代码语言:javascript
复制
import matplotlib

from pylatex import Document, Section, Figure, NoEscape

matplotlib.use('Agg')  # Not to use X server. For TravisCI.
import matplotlib.pyplot as plt  # noq

if __name__ == '__main__':

    x = [0, 1, 2, 3, 4, 5, 6]
    y = [15, 2, 7, 1, 5, 6, 9]
    plt.plot(x, y)

    doc = Document('basic')
    doc.append('Introduction.')

    with doc.create(Section('I am a section')):
        doc.append('Take a look at this beautiful plot:')
        with doc.create(Figure(position='htbp')) as plot:
                plot.add_plot(width=NoEscape(r'1\linewidth'), dpi=300)
                plot.add_caption('I am a caption.')

if __name__ == '__main__':

    x_1 = [0, 1, 2, 3, 4, 7, 6]
    y_1 = [15, 2, 5, 1, 5, 6, 9]

    plt.plot(x_1, y_1)

    with doc.create(Section('I am a section')):
        doc.append('Take a look at this beautiful plot:')
        with doc.create(Figure(position='htbp')) as plot3:
                plot2.add_plot(width=NoEscape(r'1\linewidth'), dpi=300)
                plot2.add_caption('I am a caption.')

    doc.append('Conclusion.')

    doc.generate_pdf(clean_tex=False)

我认为这与两个图形的绘图对象相同有关。我不太确定如何将它们分开,因为在matplotlib中大多数绘制单独的图的搜索都建议使用子图,这在这里并不适用。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2019-11-26 17:25:16

我只是使用jupyter-notebook,然后将其导出为html,然后导出为pdf。少了很多麻烦。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59047494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档