Örneğin, güzel görünümlü grafik modeller üretebilen [özgür] yazılımlar arıyorum.
Herhangi bir öneriniz memnuniyetle karşılanacaktır.
Örneğin, güzel görünümlü grafik modeller üretebilen [özgür] yazılımlar arıyorum.
Herhangi bir öneriniz memnuniyetle karşılanacaktır.
Yanıtlar:
Şu anda benzer bir problemim var (tezim için çoklu yol diyagramları çiziyorum) ve bu yüzden benzer diyagramları çizmek için burada listelenen seçeneklerin çoğunu inceliyordum. Bu tür vektör grafiklerini çizmek için listelenen kaynakların birçoğu (örneğin, microsoft office veya google çizimleri gibi) oldukça az çaba harcayarak gerçekten güzel yol şemaları üretebilir. Ancak, bu tür programlardan memnun olmama sebebimin bir kısmı, her diyagram arasında sadece oldukça küçük değişikliklerle birçok diyagram üretmem gerektiğiydi (örneğin, başka bir düğüm ekleyin, bir etiketi değiştirin). İşaretle ve tıkla vektör grafik araçları bunun için uygun değildir ve bu tür küçük değişiklikler yapmak için gerekenden daha fazla çaba sarf edin. Ayrıca, birçok çizim arasında bir şablonu korumak zorlaşır. Bu yüzden, bu tür grafikleri programatik olarak üretme seçeneklerini incelemeye karar verdim.
\documentclass[11pt]{report}
\usepackage{tikz}
\usetikzlibrary{fit,positioning}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\tikzstyle{main}=[circle, minimum size = 10mm, thick, draw =black!80, node distance = 16mm]
\tikzstyle{connect}=[-latex, thick]
\tikzstyle{box}=[rectangle, draw=black!100]
\node[main, fill = white!100] (alpha) [label=below:$\alpha$] { };
\node[main] (theta) [right=of alpha,label=below:$\theta$] { };
\node[main] (z) [right=of theta,label=below:z] {};
\node[main] (beta) [above=of z,label=below:$\beta$] { };
\node[main, fill = black!10] (w) [right=of z,label=below:w] { };
\path (alpha) edge [connect] (theta)
(theta) edge [connect] (z)
(z) edge [connect] (w)
(beta) edge [connect] (w);
\node[rectangle, inner sep=0mm, fit= (z) (w),label=below right:N, xshift=13mm] {};
\node[rectangle, inner sep=4.4mm,draw=black!100, fit= (z) (w)] {};
\node[rectangle, inner sep=4.6mm, fit= (z) (w),label=below right:M, xshift=12.5mm] {};
\node[rectangle, inner sep=9mm, draw=black!100, fit = (theta) (z) (w)] {};
\end{tikzpicture}
\end{figure}
\end{document}
%note - compiled with pdflatex
Şimdi, ben zaten Lateks tezimi kadar yazıyorum, bu nedenle sadece biraz inconveniant olan bir bütün Lateks belgesini derlemek zorunda kalmadan görüntü istiyorum ama daha doğrudan bir görüntü üretmek için bazı oldukça küçük geçici çözümler olup olmadığını (bkz bu soruyu üzerinde yığın akışı üzerinde). Böyle bir proje için Tikz kullanmanın bir çok yararı var.
Şimdilik R istatistiki paketindeki diyagramları doğrudan belirtilen modellerden çizmek için bazı kütüphaneleri göz önünde bulundurmadım, ancak gelecekte bunları daha fazla düşünebilirim. Qgraph kütüphanesinde , R.’de neyin başarılabileceğine dair bir kavram kanıtı için bazı güzel örnekler var.
Laura Dietz , tikz için, doğrudan tikz kullanmaya gerek kalmadan, lateks içerisinde Bayesian Networks'ün çizilmesini sağlayan çok güzel bir kütüphane yazdı.
Bu paketi göstermek için, bu soru için aşağıdaki örneğe bakın:
\documentclass[11pt]{report}
\usepackage{tikz}
\usetikzlibrary{bayesnet}
\begin{document}
\begin{figure}
\centering
\tikz{ %
\node[latent] (alpha) {$\alpha$} ; %
\node[latent, right=of alpha] (theta) {$\theta$} ; %
\node[latent, right=of theta] (z) {z} ; %
\node[latent, above=of z] (beta) {$\beta$} ; %
\node[obs, right=of z] (w) {w} ; %
\plate[inner sep=0.25cm, xshift=-0.12cm, yshift=0.12cm] {plate1} {(z) (w)} {N}; %
\plate[inner sep=0.25cm, xshift=-0.12cm, yshift=0.12cm] {plate2} {(theta) (plate1)} {M}; %
\edge {alpha} {theta} ; %
\edge {theta} {z} ; %
\edge {z,beta} {w} ; %
}
\end{figure}
\end{document}
%note - compiled with pdflatex
Tam olarak aynı olmasa da, kesinlikle aynı bilgileri iletir ve belirli gereksinimlere daha iyi uyması için ince ayar yapılabilir. Bu paket tam tikz paketini öğrenmeye gerek kalmadan çok kabul edilebilir rakamlar üretir.
Http://daft-pgm.org/ yenemezsin
Daft, matplotlib'i bir dergide veya internette yayınlamak için piksel-mükemmel olasılıklı grafiksel modeller oluşturmak için kullanan bir Python paketidir . Kısa bir Python betiği ve sezgisel bir model oluşturma sözdizimi ile yönlendirilmiş (Bayesian Networks, yönlendirilmiş asiklik grafikler) ve yönlendirilmemiş (Markov rastgele alanları) modelleri tasarlayabilir ve bunları matplotlib'in desteklediği herhangi bir biçimde (PDF, PNG, EPS ve SVG dahil) kaydedebilirsiniz. ).
GraphViz'i deneyebilirsiniz .
Bu, grafiği bir metin dosyasında belirtmenize izin verir ve otomatik olarak çizilir (çakışan oklardan vb. Kaçınılarak). Minimal bir örnek ve bir el kitabı için buraya (pdf) gidin .
Inkscape aslında Adobe Illustrator uygulamasının ücretsiz bir sürümüdür ve gönderdiğiniz resim gibi vektör grafikleri yapmak için çok güçlü bir programdır. Ayrıca son düzenlemeleri / açıklamaları / vb. Yapmak için çoğu istatistiksel paketle birlikte oldukça iyi bir şekilde oynuyor. Grafiklere - R, SAS, vb. bir grafiği PDF veya başka bir vektör formatı (.eps gibi) olarak çıkarabilir ve ardından renkleri, sembolleri, eksen etiketlerini vb. karıştırmak için Inkscape'e getirebilirsiniz.
LaTeX'i kullanmakla özellikle ilgileniyorsanız, LaTeXDraw programının gömülü lateks kodlu akış çizelgeleri oluşturmak için hoş bir işlevi vardır.
PSTricks kodunu ve SVG'yi içe / dışa aktarabilir ve svg, pdf, eps, jpg, png vb. Dosyaları da dışa aktarabilir. Linux, Mac OS X ve Windows işletim sistemlerinde çalışır.
Diagrammix'in Mac OS X için kullanılabilen çok esnek bir paket olduğunu buldum . İyi yuvarlanmış bir vektör grafik paketi ve grafik modellerde iyi bir iş çıkarıyor. Oldukça ucuzdur ve kenarların şeklini ve yönünü iyileştirmeye yardımcı olan bazı iyi eklentilere sahiptir.
Diagrammix
bazı cevaplar gibi nasıl çoğaltılacağını gösterebilirsiniz .
Google Dokümanlar Çizim'i deneyebilirsiniz . Tarayıcınızda, ücretsiz olarak istediğinizi yapacak gibi görünüyor.
PlantUML için gidebilirsiniz . Açık kaynaklı ve oldukça esnektir.
Lucidchart web uygulamasını da kullanabilirsiniz .
Geçmişte grafik çizmek için kullandım ve ücretsiz.