Web Analytics

matplot2tikz

⭐ 266 stars Hindi 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 का आउटपुट

कच्चे TikZ आउटपुट की तुलना में। उदाहरण के लिए, 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}

(यदि आप कोड स्ट्रिंग के रूप में चाहते हैं तो save() के बजाय get_tikz_code() का उपयोग करें।)

प्लॉट को समायोजित करना आसान है और इसे आपके TeX कार्य प्रवाह का हिस्सा बनाकर किया जा सकता है। शानदार PGFPlots मैनुअल में बेहतरीन उदाहरण हैं कि आप अपने प्लॉट को और भी बेहतर कैसे बना सकते हैं।

बिल्कुल, matplotlib द्वारा बनाई गई सभी आकृतियों को बिना त्रुटि के परिवर्तित नहीं किया जा सकता। विशेष रूप से, 3D प्लॉट काम नहीं करते

इंस्टॉलेशन

matplot2tikz Python पैकेज इंडेक्स से उपलब्ध है, तो बस

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 के लिए पैकेज और उपयुक्त यूनिकोड समर्थन आपके दस्तावेज़ के हेडर में शामिल हों:

`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 बनाम 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 से बना सकते हैं।
  • बदलाव पुश करने से पहले, सुनिश्चित करें कि कोड लिंटिंग नियमों का पालन करता है और सभी टेस्ट
सफल हैं।
tox चलाएँ। यह लिंटिंग जांच करता है और सभी टेस्ट स्क्रिप्ट्स चलाता है। मैन्युअली ये चरण करने के लिए, निम्नलिखित कमांड्स का उपयोग करें: /reports/coverage_html/index.html में देखें।

नोट: वर्तमान में, अभी सारा कोड कवर नहीं है। आदर्श रूप से, सारा कोड कवर होना चाहिए, लेकिन फिलहाल, सुनिश्चित करें कि सारा नया कोड टेस्टिंग द्वारा कवर हो।

ब्रांच में मर्ज करना चाहते हैं, तो एक पुल रिक्वेस्ट बनाएं। आदर्श रूप से, कम से कम एक रिव्युअर पुल रिक्वेस्ट को मर्ज से पहले रिव्यू करता है।

ध्यान दें कि वर्तमान में केवल "कोड मालिक" ही main` शाखा में पुल अनुरोधों को मर्ज कर सकते हैं। इसका उद्देश्य यह सुनिश्चित करना है कि हर कोई मुख्य कोड को (भले ही अनजाने में) खराब न कर सके। यदि आप "कोड मालिक" बनना चाहते हैं, तो हमें बताएं!

लाइसेंस

matplot2tikz MIT लाइसेंस के तहत प्रकाशित किया गया है।

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