Web Analytics

matplot2tikz

⭐ 266 stars Turkish by ErwindeGelder

🌐 Dil

matplot2tikz

Eskiden tikzplotlib olarak bilinen sanatçı.

PyPI - Sürüm GitHub Lisansı PyPI - Python Sürümü Ruff mypy ile kontrol edildi codecov PyPI Downloads

Bu, matplotlib figürlerini PGFPlots (PGF/TikZ) figürlerine dönüştüren bir Python aracı olan matplot2tikz'dir, örneğin

LaTeX veya ConTeXt belgelerine yerel olarak dahil edilmek üzere.

Matplot2tikz'in çıktısı PGFPlots içindedir; bu, PGF/TikZ üzerine kurulu bir TeX kütüphanesidir ve eksenler, veriler vb. açısından grafikleri tanımlar. Sonuç olarak, matplot2tikz'in çıktısı

ham TikZ çıktısına göre daha iyidir. Örneğin, matplotlib figürü

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}

(Kodu bir dize olarak almak istiyorsanız, save() yerine get_tikz_code() kullanın.)

Grafiği düzenlemek kolaydır ve TeX çalışma akışınızın bir parçası olarak yapılabilir. Harika PGFPlots kılavuzu grafiğinizi daha da iyi gösterecek harika örnekler içerir.

Elbette, matplotlib tarafından üretilen tüm figürler hatasız şekilde dönüştürülemez. Özellikle, 3D grafikler çalışmaz.

Kurulum

matplot2tikz Python Paket İndeksi üzerinden mevcuttur, bu yüzden sadece

pip install matplot2tikz

kurmak için.

Kullanım

``python import matplot2tikz

matplot2tikz.save("mytikz.tex") # or matplot2tikz.save("mytikz.tex", flavor="context") `

TikZ dosyasını mytikz.tex olarak kaydetmek için.

şudur:

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

Ayrıca, belgenizin başlığında PGFPlots paketlerinin ve uygun Unicode desteğinin dahil edildiğinden emin olun:

`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} `

Koda ayrıca şu yollarla da ulaşabilirsiniz:

`python import matplot2tikz

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

komutunu kullanarak temizleyin.

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

# ... do your plotting

import matplot2tikz

matplot2tikz.clean_figure() matplot2tikz.save("test.tex") ` Komut, eksen sınırlarının dışında kalan noktaları kaldıracak, eğrileri basitleştirecek ve belirtilen hedef çözünürlük için nokta yoğunluğunu azaltacaktır.

matplot2tikz vs. tikzplotlib

Bu matplot2tikz kütüphanesi tikzplotlib projesinden türemiştir. Yeni bir kütüphane oluşturulmasının nedeni, tikzplotlib'in artık bakımda olmaması ve bakımın yalnızca tikzplotlib kütüphanesinin tek sahibi tarafından yapılabiliyor olmasıdır. Zaten tikzplotlib'e bağımlı olan üçüncü parti kodları kullanmanız gerekiyorsa, tikzplotlib bağımlılığını matplot2tikz olarak değiştirmeniz önerilir. Eğer bu mümkün değilse, bir geçici çözüm olarak aşağıdaki kodu üçüncü parti kodu import etmeden önce ekleyebilirsiniz:

` 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. `

Katkıda Bulunma

Hatalarla karşılaşırsanız, katkıda bulunmak isterseniz, matplot2tikz'in neler yapabildiğine dair güzel örnekleriniz varsa veya sadece daha fazla bilgi arıyorsanız, lütfen matplot2tikz'in GitHub sayfasını ziyaret edin.

Katkıda bulunmak için şu adımları izleyin:

git clone git@github.com:ErwindeGelder/matplot2tikz.git komutunu kullanarak. Bu nedenle, değişiklik yapmak istiyorsanız, bunu ayrı bir dalda yapın. Örneğin, yeni bir dalı git checkout -b feature/my_awesome_new_feature komutuyla oluşturabilirsiniz.
  • Değişiklikleri göndermeden önce kodun biçimlendirme kurallarına uyduğundan ve testlerin
başarılı olduğundan emin olun.
tox komutunu çalıştırın. Bu komut biçimlendirme kontrolü yapar ve tüm test betiklerini çalıştırır. Bu adımları elle yapmak için aşağıdaki komutları kullanın: içindeki kapsam raporundan kontrol edin.

NOT: Şu anda tüm kod kapsanmamaktadır. İdeal olarak tüm kod kapsanmalıdır, ancak şimdilik tüm yeni kodun testlerle kapsandığından emin olun.

dalına birleştirmek istiyorsanız bir çekme isteği (pull request) oluşturun. İdeal olarak, birleştirmeden önce en az bir inceleyici çekme isteğini incelemelidir.

Şu anda yalnızca "Kod sahipleri"nin main` dalına pull request birleştirebileceğini unutmayın. Bu, ana kodun herkes tarafından (istemeden de olsa) bozulmamasını sağlamak içindir. "Kod sahibi" olmak istiyorsanız, bize bildirin!

Lisans

matplot2tikz, MIT lisansı altında yayımlanmıştır.

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