matplotlib로 만든 그래프를 tikz로 출력

소개



matplotlib2tikz라는 패키지를 발견했습니다.

이 패키지는 matplotlib로 그래프를 만들고 Tikz라는 이미지를 생성 할 수있는 언어로 출력 할 수 있습니다.
Tikz는 다음 기사를 참조하십시오.

PGF/Tikz를 추천하는 기사

환경


  • MacOS Sierra 10.12.6
  • 파이썬 3.6.3
  • matplotlib 3.0.0
  • numpy 1.14.5
  • Pillow 5.4.1
  • six 1.11.0
  • matplotlib2tikz 0.6.18

  • 설치



    terminal에 다음과 같이 입력하여 설치
    pip install matplotlib2tikz
    

    종속성에 있는 패키지는
    matplotlib, numpy, Pillow, six
    그렇지 않으면 추가로 설치됩니다.

    사용법



    사용하기 전에 다음과 같이 패키지를로드하십시오.
    from matplotlib2tikz import save as tikz_save
    

    평소와 같이 matplotlib에서 plot하고 savefig를 호출하는 대신
    tikz_save('hoge.tex')
    

    로 저장하면 좋을 것 같습니다.

    해보자



    실천.
    $ y =\sin x $와 $ y =\cos x $를 그려보고 싶습니다.
    파이썬 소스 코드에서 다음과 같이하십시오.
    당연히 tex에 포함되므로 수식 환경을 $로 묶으면 사용할 수 있습니다.
    import matplotlib.pyplot as plt
    import matplotlib2tikz.save as tikz_save
    import numpy as np
    
    x = np.linspace(-4.0, 4.0, 100)
    y1 = np.cos(x)
    y2 = np.sin(x)
    
    plt.plot(x, y1, label = '$y=\cos x$')
    plt.plot(x, y2, label = '$y=\sin x$')
    
    plt.xlabel('$x$')
    plt.ylabel('$y$')
    
    plt.ylim(-1.0, 1.0)
    
    # 凡例を表示
    plt.legend()
    
    # グリッドを表示
    plt.grid()
    
    # 保存
    tikz_save('scos.tex')
    

    이렇게하면 scos.tex가 생성되므로이 tex를 삽입하지만 프리앰블에 다음을 추가합니다.
    \usepackage[utf8]{inputenc}
    \usepackage{fontspec} % This line only for XeLaTeX and LuaLaTeX
    \usepackage{pgfplots}
    

    fontspec은 XeLaTex 또는 LuaLaTex를 사용할 때 넣어야합니다.
    이번에는 platex로 컴파일하므로 utf8과 pgfplots를 사용합니다.
    \documentclass[border=0.5pt,class=jsarticle]{standalone}
    \usepackage[dvipdfmx]{graphicx}
    \usepackage[utf8]{inputenc}
    \usepackage{pgfplots}
    
    \begin{document}
        \input{scos.tex}
    \end{document}
    

    그리고 platex ⇨ dvipdfmx로 pdf로 설정하면 다음과 같은 그림이 나타납니다.


    요약



    아름다운 그래프가 나왔다!

    좋은 웹페이지 즐겨찾기