Web Analytics

matplot2tikz

⭐ 266 stars Thai by ErwindeGelder

🌐 ภาษา

matplot2tikz

โปรแกรมที่เคยรู้จักกันในชื่อ tikzplotlib มาก่อน

PyPI - Version GitHub License PyPI - Python Version Ruff Checked with mypy codecov PyPI Downloads

นี่คือ matplot2tikz เครื่องมือ Python สำหรับแปลงกราฟ matplotlib ให้เป็น PGFPlots (PGF/TikZ) รูปภาพ เช่น

เพื่อการนำเข้าโดยตรงในเอกสาร LaTeX หรือ ConTeXt

ผลลัพธ์ของ matplot2tikz อยู่ในรูปแบบ PGFPlots, ซึ่งเป็นไลบรารี TeX ที่พัฒนาต่อจาก PGF/TikZ และ ใช้ในการอธิบายกราฟในรูปแบบแกน ข้อมูล ฯลฯ ดังนั้น ผลลัพธ์ของ matplot2tikz

เมื่อเทียบกับ raw TikZ output ตัวอย่างเช่น กราฟ matplotlib

import matplotlib.pyplot as plt
import numpy as np

plt.style.use("ggplot")

t = np.arange(0.0, 2.0, 0.1) s = np.sin(2 np.pi t) s2 = np.cos(2 np.pi t) plt.plot(t, s, "o-", lw=4.1) plt.plot(t, s2, "o-", lw=4.1) plt.xlabel("time (s)") plt.ylabel("Voltage (mV)") plt.title("Simple plot $\\frac{\\alpha}{2}$") plt.grid(True)

import matplot2tikz

matplot2tikz.save("test.tex")

--> (see above) gives

\begin{tikzpicture}

\definecolor{chocolate2267451}{RGB}{226,74,51} \definecolor{dimgray85}{RGB}{85,85,85} \definecolor{gainsboro229}{RGB}{229,229,229} \definecolor{steelblue52138189}{RGB}{52,138,189} \begin{axis}[ axis background/.style={fill=gainsboro229}, axis line style={white}, tick align=outside, tick pos=left, title={Simple plot \(\displaystyle \frac{\alpha}{2}\)}, x grid style={white}, xlabel=\textcolor{dimgray85}{time (s)}, xmajorgrids, xmin=-0.095, xmax=1.995, xtick style={color=dimgray85}, y grid style={white}, ylabel=\textcolor{dimgray85}{Voltage (mV)}, ymajorgrids, ymin=-1.1, ymax=1.1, ytick style={color=dimgray85} ] \addplot [line width=1.64pt, chocolate2267451, mark=*, mark size=3, mark options={solid}] table {% 0 0 % [...] 1.9 -0.587785252292473 }; \addplot [line width=1.64pt, steelblue52138189, mark=*, mark size=3, mark options={solid}] table {% 0 1 % [...] 1.9 0.809016994374947 }; \end{axis}

\end{tikzpicture}

(ใช้ get_tikz_code() แทน save() หากคุณต้องการโค้ดเป็นสตริง)

การปรับแต่งกราฟทำได้ง่ายและสามารถทำได้เป็นส่วนหนึ่งของขั้นตอนการทำงาน TeX ของคุณ คู่มือ PGFPlots ที่ยอดเยี่ยม มีตัวอย่าง ดีๆ มากมายเกี่ยวกับวิธีทำให้กราฟของคุณดูดีขึ้นกว่าเดิม

แน่นอนว่าไม่ใช่ภาพทุกประเภทที่สร้างโดย matplotlib จะสามารถแปลงได้โดยไม่มีข้อผิดพลาด โดยเฉพาะ กราฟ 3D ใช้งานไม่ได้

การติดตั้ง

matplot2tikz มี ให้ดาวน์โหลดจาก Python Package Index ดังนั้นเพียงแค่ทำ

pip install matplot2tikz
เพื่อติดตั้ง

การใช้งาน

``python import matplot2tikz

matplot2tikz.save("mytikz.tex") # or matplot2tikz.save("mytikz.tex", flavor="context") ` เพื่อบันทึกไฟล์ TikZ เป็น mytikz.tex

ดังนี้

`latex \input{/path/to/mytikz} `

นอกจากนี้โปรดตรวจสอบให้แน่ใจว่าแพ็กเกจสำหรับ PGFPlots และการรองรับ Unicode อย่างถูกต้อง ถูกเพิ่มไว้ในส่วนหัวของเอกสารของคุณ:

`latex \usepackage[utf8]{inputenc} \usepackage{pgfplots} \DeclareUnicodeCharacter{2212}{−} \usepgfplotslibrary{groupplots,dateplot} \usetikzlibrary{patterns,shapes.arrows} \pgfplotsset{compat=newest} `

or:

`latex \setupcolors[state=start] \usemodule[tikz] \usemodule[pgfplots] \usepgfplotslibrary[groupplots,dateplot] \usetikzlibrary[patterns,shapes.arrows] \pgfplotsset{compat=newest} \unexpanded\def\startgroupplot{\groupplot} \unexpanded\def\stopgroupplot{\endgroupplot} ` คุณยังสามารถรับโค้ดได้ผ่านทาง:

`python import matplot2tikz

matplot2tikz.Flavors.latex.preamble() # or matplot2tikz.Flavors.context.preamble() `

`python import matplotlib.pyplot as plt import numpy as np

# ... do your plotting

import matplot2tikz

matplot2tikz.clean_figure() matplot2tikz.save("test.tex") ` คำสั่งนี้จะลบจุดที่อยู่นอกขอบเขตแกน, ทำใหเส้นโค้งง่ายขึ้น และลดความหนาแน่นของจุดตามความละเอียดเป้าหมายที่ระบุ

matplot2tikz vs. tikzplotlib

ไลบรารี matplot2tikz นี้มีต้นกำเนิดจากโปรเจกต์ tikzplotlib เหตุผลที่มีการสร้างไลบรารีใหม่ เนื่องจาก tikzplotlib ไม่มีการดูแลต่อเนื่องและ การดูแลสามารถทำได้โดยเจ้าของเดียวของไลบรารี tikzplotlib เท่านั้น หากคุณจำเป็นต้องใช้โค้ดจากบุคคลที่สามที่พึ่งพา tikzplotlib อยู่แล้ว ขอแนะนำให้เปลี่ยน การพึ่งพา tikzplotlib เป็น matplot2tikz หากไม่สามารถทำได้ วิธีแก้ไขชั่วคราวคือใส่โค้ดต่อไปนี้ ก่อน การนำเข้าโค้ดจากบุคคลที่สาม:

` import sys import matplot2tikz sys.modules["tikzplotlib"] = matplot2tikz # Do other imports, e.g., using import my_third_party_library # If tikzplotlib is used in this library, it will automatically use matplot2tikz instead. `

การมีส่วนร่วม

หากคุณพบข้อบกพร่อง ต้องการมีส่วนร่วม มีตัวอย่างที่ดีของสิ่งที่ matplot2tikz สามารถทำได้ หรือหากคุณกำลังมองหาข้อมูลเพิ่มเติม โปรดเยี่ยมชม หน้าของ matplot2tikz บน GitHub

สำหรับการมีส่วนร่วม กรุณาทำตามขั้นตอนเหล่านี้:

git clone git@github.com:ErwindeGelder/matplot2tikz.git ดังนั้น หากคุณต้องการเปลี่ยนแปลง ให้ทำในสาขาใหม่ ตัวอย่างเช่น คุณสามารถสร้าง สาขาใหม่โดยใช้ git checkout -b feature/my_awesome_new_feature /reports/coverage_html/index.html

หมายเหตุ: ขณะนี้ยังมีโค้ดบางส่วนที่ไม่ได้รับการทดสอบ ในอุดมคติควรครอบคลุมทั้งหมด แต่สำหรับตอนนี้ ให้แน่ใจว่าโค้ด ใหม่ ทั้งหมดได้รับการทดสอบแล้ว

ให้สร้าง pull request โดยทั่วไป ควรมีผู้ตรวจสอบอย่างน้อยหนึ่งคนตรวจสอบ pull request ก่อน merge

โปรดทราบว่าปัจจุบันเฉพาะ "เจ้าของโค้ด" เท่านั้นที่สามารถรวม pull request เข้าสู่สาขา main` ได้ สิ่งนี้เพื่อ ป้องกันไม่ให้ทุกคนสามารถทำให้โค้ดหลักเสียหาย (ถึงแม้จะไม่ได้ตั้งใจก็ตาม) หากคุณต้องการเป็น "เจ้าของโค้ด" แจ้งให้เราทราบได้เลย!

ใบอนุญาต

matplot2tikz เผยแพร่ภายใต้ สัญญาอนุญาต MIT license.

--- Tranlated By Open Ai Tx | Last indexed: 2025-12-11 ---