اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
0 رای
3.0k بازدید

با عرض سلام و خداقوت من میخواهم دو تا نمودار را با استفاده از داده های موجود در فایل picture2.dat روی هم بکشم فایل کمینه پیوست شده دو خطا دارد خواهشا راهنمایی کنید
سپاسگزارم

فایل(های) پیوست:

3 پاسخ

+2 رای
 
بهترین پاسخ

سلام
در ابتدا تشکر می‌کنم از روش اساتید عزیزم جناب آقای امین‌طوسی و همچنین جناب آقای بیات.


داده‌های شما خیلی زیاد هستند و تک را با خطای زیر روبرو می‌کنید:

TeX capacity exceeded, sorry [main memory size=5000000]. \end{tikzpicture}

حتی با shell-escape و با ایجاد یوزری به صورت زیر هم مشکل مرتفع نشد:

xelatex --shell-escape -interaction=nonstopmode -synctex=-1 %.tex

برای این کار من از تغییر در پیش‌فرض تکلایو استفاده کرده‌ام. برای انجام این‌کار نیاز است ابتدا شما یک نرم‌افزار برای ایجاد تغییرات در فایل‌های با پسوند .cnf داشته باشید. توصیه می‌کنم آخرین نسخه از نرم‌افزار notepad++ را از اینجا دانلود کنید.
من برای انجام این‌کار از نسخه‌ی 7.6.2 بهره گرفته‌ام.
ابتدا به آدرسی مشابه آدرس زیر بروید که تکلایو 2018 را در آن نصب کرده‌اید:

c:\texlive\2018\texmf-dist\web2c

با رفتن به پوشه‌ی تکلایو 2018 و جستجو کردن texmf.cnf نیز با سادگی می‌توانید این فایل را بیابید. مطابق تصویر زیر این فایل را باز کنید:


enter image description here


بعد از باز شدن فایل به سطر‌های 733،734 و 735 از این فایل توجه کنید و تغییرات زیر را انجام دهید:

main_memory = 7000000 % words of inimemory available; also applies to inimf&mp
extra_mem_top = 7000000    % extra high memory for chars, tokens, etc.
extra_mem_bot = 7000000     % extra low memory for boxes, glue, breakpoints, etc.

تغییرات را ذخیره و از فایل خارج شوید.
با توجه به حساسیت این‌کار توصیه می‌کنم دقت کافی را به خرج دهید تا کدی اضافه تغییر نکند. سپس در قسمت جستجوی ویندوز یک command prompt با سطح دسترسی administrator باز کنید (روی آن راست کلیک کنید و گزینه‌ی Run as administrator را انتخاب کنید).
سپس در آن کلمه‌ی texhash را تایپ و اینتر کنید. بهتر است در این مرحله هیچ ویرایشگری روی تکلایو باز نباشد. این عمل را دو بار تکرار کنید (تکرار آن صرفا به خاطر اطمینان از ذخیره‌ی تغییرات است). با این کار قالب‌بندی لاتک خود را به‌روز می‌کنید.
فایل شما در زیر با سلامت کامل پردازش می‌شود:


\documentclass[a4paper,12pt]{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
[
xmin = 0 , xmax = 3 , ymin = 0 , ymax = .65,
width = 12cm ,
height  = 8cm,
title = {Alireza},
xlabel = {Time(Second)},
ylabel = {Motaghayer} ,
%ytick = {-10,-8,...,10},
%xtick = {-10,-8,...,10},
xtick align = center,
minor tick num = 4 ,
%------Grid setting
xmajorgrids,
xminorgrids,
ymajorgrids,
grid style = {thick,dotted},
]
\addplot
[
style = solid,color = blue,
]
table[y index = 1 , x index = 0]
{picture2.dat};
\addplot
[
style = dashed,color =red,
]
table[y index = 2 , x index = 0]
{picture2.dat};
\end{axis}
\end{tikzpicture}
\end{document}

و خروجی زیر را دارید.


enter image description here


موفق باشید.

سپاسگزارم استاد مدد پور
توسط (93 امتیاز)
درود
من با استادی فاصله‌ی زیادی دارم. شما لطف دارید.
توسط (8.7k امتیاز)
+1 رای

سلام
من فایل شما را نگاه نکرده‌ام.
در ادامه یک نمونه مثال tikz آورده‌ام که در یک شکل دو نمودار روی هم کشیده شده‌اند.
منظور شما همین بوده است؟

\documentclass[11pt,a4paper]{article} 

\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}[scale=1.5]
\begin{axis}
[xlabel =  xxxxxx , ylabel= yyyyyyyyy ,legend pos=south east]
\addplot table {MP.txt};
\addlegendentry{MP}
\addplot table {OMP.txt};
\addlegendentry{OMP}
\end{axis}
\end{tikzpicture}

\end{document}

که فایلهای MP, OMP حاوی اعداد نمودارها هستند:

MP.txt

10 0.772207
12 1.346039
14 1.252306
17 1.057805
19 1.522252
22 1.515369
24 1.397351
27 1.538976
29 1.487943
32 1.368875

OMP.txt

10 0.812154
12 1.623945
14 1.464117
17 1.238389
19 1.711917
22 1.957823
24 1.819998
27 1.745488
29 1.752866
32 1.771012
سلام استاد امین طوسی
 خداقوت
بله منظور من دقیقا همین سوال بود بنده  هم همینطور عمل کردم منتها نمیدونم چرا برنامه خطا میدهد
توسط (93 امتیاز)
مثال شما را من اجرا کردم و خطایی نداشت.
شما داده‌هایتان را در نمونه مثال من گذاشتید؟
توسط (3.8k امتیاز)
بله ولی باز هم همان خطا  را میگیرم
توسط (93 امتیاز)
خطا را ذکر نکرده‌اید!
شاید پاسخ آقای بیات، جواب شما بوده باشد.
و چه بسا من به علت اینکه تنظیمات پردازشی تک را قبلا تغییر داده بودم خطایی نگرفته‌ام.
توسط (3.8k امتیاز)
بله حق با شماست من خطا رو هم به فایل های پیوست اضافه میکنم .
روش آقای بیات هم جواب میده منتها باید دوباره فایل خروجی در زی پرشین فراخوانی شود من میخواستم ببینم میشود در خود زی پرشین این کار رو انجام داد.
استاد امین طوسی بابت وقتی که گذاشتین بسیار سپاسگزارم
توسط (93 امتیاز)
+1 رای

مشکل این است که فایل داده‌های شما قریب به ۲۶۰۰۰ داده دارد و پردازش آن در توان XeLaTeX نیست. پرسش و پاسخی در اینجا مطرح شده که پاسخ‌دهنده پیشنهاد می‌کند از LuaLaTeX استفاده شود و یا تعداد داده‌ها را به شیوه‌ای کاهش داد. چنانچه روش نخست را انتخاب می‌کنید پیشنهاد می‌کنم این نمودار را در فایل جداگانه‌ای با موتور LuaLaTeX تولید کنید و pdf آن را در فایل اصلی فراخوانی نمایید. برای این منظور از کد زیر استفاده کنید:

% !TEX TS-program = LuaLaTeX
\documentclass[12pt]{standalone}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin = 0 , xmax = 3 , ymin = 0 , ymax = 0.6,
width = 12cm, height  = 8cm,
title = {My Plot},
xlabel = {Time (Second)},
ylabel = {Variable} ,
%ytick = {-10,-8,...,10},
%xtick = {-10,-8,...,10},
xtick align = center,
minor tick num = 4 ,
%%------ Grid setting ------%%
xmajorgrids,
xminorgrids,
ymajorgrids,
grid style = {thick,dotted},
]
\addplot [style = solid, color = blue] table [x index = 0, y index = 1, col sep=tab] {picture2.dat};
\addplot [style = dashed,color =red] table [x index = 0, y index = 2, col sep=tab] {picture2.dat};
\end{axis}
\end{tikzpicture}
\end{document}

خروجی:
LuaLaTeX Plot

نکته: تولید نمودار مدتی زمان خواهد برد؛ بنابراین صبور باشید.


ویرایش: حجم داده‌ها را با MATLAB کاهش دادم و فایل آن را با نام picture2_decimated.dat به متن پرسش ضمیمه کردم. با این داده‌ها می‌توانید نمودار موردنظر را با XeLaTeX رسم کنید.

ممنونم آقای بیات خیلی لطف کردین
به نظرتون راهی وجود نداره که با خود زی پرشین مستقیما این کار رو کرد؟
توسط (93 امتیاز)
راهش اینه که تعداد داده‌ها رو کاهش بدی. طبق بررسی اولیه‌ای که داشتم اگه تعداد سطرهای فایل داده‌ها کمتر از ۱۱۷۰۰ سطر باشه با XeLaTeX قابل پردازش هست. تو پرسش و پاسخی که اشاره کردم روشی رو با متلب آموزش داده که می‌تونین ازش استفاده کنین. قطعاً روش‌های دیگه‌ای هم برای کم کردن تعداد داده‌ها وجود داره. اگه این کار به درستی انجام بشه، نمودار خروجی هم تفاوت محسوسی نخواهد کرد.
توسط (3.7k امتیاز)
سپاسگزارم
توسط (93 امتیاز)
سلام آقای بیات دیروز با روش شما تونستم یک نمودار بکشم ولی امروز نموداری با همون تعداد داده رو خطای dimension too large میگیره
توسط (93 امتیاز)
این خطا با قبلی متفاوته و احتمالاً چیزی به نمودار اضافه کردین که این اتفاق افتاده. پیشنهاد می‌کنم دوباره از ساختار کد بالا استفاده کنین و آپشن‌های جدید رو با دقت بیشتری اضافه کنین. اگر مشکل حل نشد یک پرسش جدید با فایلی که مشکل رو نشون بده ایجاد کنین.
توسط (3.7k امتیاز)
ممنونم چک میکنم اگر حل نشد پرسش جدید میزارم
توسط (93 امتیاز)
پرسیدن سوال
وب‌سایت پرسش و پاسخ پارسی‌لاتک جایی برای پرسش و پاسخ درباره سیستم حروف‌چینی لاتک و بسته زی‌پرشین است. در اینجا می‌توانید سوال‌های خود را بپرسید و به سوال‌های دیگران پاسخ دهید.

7.1k پرسش

6.6k پاسخ

23.5k نظر

7.1k کاربر

محبوب‌ترین برچسب‌ها

رفع خطا جدول xepersian مراجع ریاضی‌نویسی شکل bidi فونت فهرست مطالب شماره‌گذاری منابع پانویس بیب‌تک tikz parsilatex تک‌لایو بیمر اسلاید زی‌پرشین پاورقی bibtex سربرگ نماد رسم شکل فرمول‌نویسی ارجاع‌دهی biditexmaker هدر ویرایشگر قالب beamer واژه‌نامه اندازه فونت texstudio عنوان فصل ماتریس اعمال نشدن تغییرات در پی‌دی‌اف رسم جدول شماره صفحه bidipresentation حاشیه رنگ عنوان شکل اسلاید فارسی محیط قضیه گراف مکان شکل tikzpicture enumerate حروف‌چینی کد شماره فصل tabriz_thesis نمایه align زیرنویس شکل کادر itemize فهرست اشکال الگوریتم عدم اجرا listings نیم‌فاصله متن لاتین و فارسی بسته فاصله بین خطوط قالب پایان‌نامه فرمول نصب تک‌لایو فارسی‌تک hyperref شماره فرمول glossaries کپشن نمودار خروجی لاتک حروف‌چینی چندستونی فونت فارسی و انگلیسی ماکرونویسی biditools شماره پاورقی پیوست‌ سوال امتحانی فاصله‌گذاری فرمول چندضابطه‌ای extrafootnotefeatures subfigure biditufte-book header texmaker pdf خطا tex longtable تصویر شمارنده زیرنویس texlive2015 دیاگرام رسم نمودار شماره‌گذاری صفحات پایان نامه فهرست جداول میک‌تک texlive2016 تنظیم جدول آکولاد شعر kashida بولد تورفتگی texworks caption اندیس اعداد فارسی lollipop iust-thesis multicol فصل‌نویسی سوال چهارگزینه‌ای فاصله عمودی pgfplots xindy چپ‌چینی اوبونتو میکروسافت ورد قاب geometry xelatex texlive fancyhdr وسط‌چینی تک لایو 2015 tcolorbox عنوان بخش شماره گذاری به‌روزرسانی بسته aimc46 صفر توخالی فرمول طولانی بیرون‌زدگی کاما پوستر فاصله سطرها نوشتافت شکست خط tex-programming فونت اعداد قرآن tabriz-thesis
...