تم تصميم Csvgraph للسماح بعرض سريع للرسوم البيانية لملفات CSV التي يحتمل أن تكون كبيرة جدًا (GB) (للمقارنة، تقتصر معظم جداول البيانات على 1,048,576 صفًا). ليس لدى Csvgraph أي حدود مضمنة، ولكنها في النهاية محدودة بذاكرة الوصول العشوائي المتوفرة لديك (سيستخدم الإصدار 32 بت ما يصل إلى 4 غيغابايت من ذاكرة الوصول العشوائي إذا كانت متوفرة، بينما سيستخدم الإصدار 64 بت كل ذاكرة الوصول العشوائي المتاحة والذاكرة الافتراضية ذاكرة). حتى مع الملفات الكبيرة جدًا، تكون القراءة سريعة ويكون التكبير/التصغير فوريًا في العادة.
من المفترض أن تحتوي ملفات CSV هذه على رؤوس أعمدة في السطر الأول بحيث يبدأ ملف CSV النموذجي:
"الوقت (ثانية)"، "العمود 2"، "العمود 3"، "العمود 4"، "العمود 5"
99950,20,0,20,20
99950.1,10,1,11,12
تتم قراءة القيم كأرقام الفاصلة العائمة، لذا فهي تقتصر على الأرقام الواقعة بين +/- 3.4e+38 وأصغر رقم غير الصفر هو 1.4e-45 تقريبًا، مع ما يقرب من 7 أرقام مهمة.
بالإضافة إلى المخططات البسيطة للبيانات الموجودة في ملفات CSV، يمكن تصفية البيانات بعدد من الطرق المختلفة (بما في ذلك المرشحات المتوسطة والتناسبات متعددة الحدود وتحويل فورييه السريع) وكذلك حسابها من بيانات CSV (على سبيل المثال، الفرق المطلق بين البيانات في 2 يمكن بسهولة رسم أعمدة ملف CSV (على سبيل المثال، "abs($3-$4)" سترسم الفرق المطلق بين العمودين 3 و4).
يحتوي الملف csvgraph.pdf على الدليل الكامل وعدد من الأمثلة على استخدامه.
1v0 - الإصدار الأول من جيثب
1v1 - 1/6/2021- تم إصلاح المشكلة المحتملة المتعلقة بمكون التيار المستمر في FFT. تمت إضافة القائمة/المساعدة/الدليل. دليل محدث.
1v2 - 24/1/2021 - إصلاح الأخطاء - ستتم قراءة "inf" في ملف CSV كرقم كبير للغاية (لانهاية) مما تسبب بعد ذلك في حدوث مشكلات عندما حاول CSVgraph قياس الأرقام ورسم الرسم البياني. تمت إضافة العديد من الخيارات لـ "التصفية" بما في ذلك الأسي والطاقة والزائدي وsqrt.
1v3 - 3/2/2021 - تمت إضافة المزيد من خيارات ملاءمة المنحنى، y=mx، y=mx+c مع GMR، الحد الأدنى من الخطأ المطلق والحد الأدنى من الخطأ النسبي، وy=a x+b sqrt(x)+c.
2v0 – 17/2/2021 – تغييرات داخلية كبيرة لتقليل استخدام ذاكرة الوصول العشوائي وتحسين السرعة. لا توجد تغييرات في الوظيفة.
2v1 - 21/3/2021 - تمت إضافة المزيد من خيارات تركيب المنحنى؛ y=a+b sqrt(x)+c x+d*x^1.5, y=(a+bx)/(1+cx), y=(a+bx+cx^2)/(1+dx+ ex^2)، متعددو الحدود على sqrt(x) لترتيب محدد من قبل المستخدم ووظائف عقلانية (متعددة الحدود/متعددة الحدود) لترتيب محدد من قبل المستخدم.
2v2 - 5/4/2021 - $T1 إلى Tn مسموح به في التعبيرات لاستخدام القيم من الآثار الموجودة على الرسم البياني. يتم ترقيم الآثار من 1. أرقام التتبع غير الصالحة (كبيرة جدًا) تُرجع 0. يمكن للمستخدم الآن تعيين ترتيب عامل التصفية الخطي. يتم تنفيذ ذلك كمرشح بتروورث من الرتبة n (10*ترتيب ديسيبل/عقد). الترتيب = 0 لا يعطي أي تصفية. الترتيب = 1 يعطي نفس التصفية كما سبق. تمت إضافة "مرشحات" للتكامل والمشتق. تُبلغ جميع عوامل التصفية الآن عن التقدم كنسبة مئوية (في السابق لم يُبلغ الحد الأدنى من الخطأ abs والحد الأدنى من الخطأ النسبي عن التقدم ويمكن أن يكونا بطيئين جدًا). خيار لتخطي الأسطر N قبل إضافة رأس csv للحالات التي لا يكون فيها رأس csv في الصف الأول من الملف. تمت إضافة أرقام الأعمدة إلى مربعات قائمة العمود X والعمود Y لتسهيل تحديد الأعمدة عندما لا تكون الأسماء وصفية للغاية (أو مفقودة) ).
2v3 - 23-1-2022 تمت إضافة y=m x log(x)+c منحنى مناسب. تم تحسين وظائف الفرز والوسيط لجعلها أسرع - سيستخدم الفرز جميع المعالجات المتاحة لتحسين سرعة التنفيذ.
إصلاح الأخطاء في 2v4 - 3-2-2022، باستخدام المتغيرات $Tn في تعبير مع مجموعة من قيم المحور x التي كانت
لم تكن بترتيب متزايد عدديًا (وبالتالي يجب فرزها) ولم تعمل بشكل صحيح في 2 ضد 2 و2 ضد 3 - آسف.
2v5 - 16-2-2022 الإبلاغ بشكل أفضل عن الأسطر غير الصالحة في ملفات CSV. عند قراءة الأوقات، جعل البدء في وقت الصفر اختياري.
2v6 - 27/2/2022 - تم تحسين مرشح Median1، بالنسبة لـ <= 10000 نقطة بيانات، أصبح الآن دقيقًا وهو (كثيرًا) أكثر للتتبعات الدقيقة مع عدد أكبر من نقاط البيانات. تم نقل موضع وسائل إيضاح التتبع إلى اليسار حتى يمكن رؤية المزيد من النص.
2v7 - 22/3/2022 - يطبع تردد -3 ديسيبل للمرشح الخطي. اعرض للمستخدم مثالًا واحدًا لكل نوع من الأخطاء في ملف CSV. إذا كانت التواريخ موجودة في بعض أسطر ملف CSV، فقم بوضع علامة على الأسطر التي لا تحتوي على تاريخ كخطأ محتمل عند تعيين عمود x على الوقت. خوارزمية متوسطة جديدة (دقيقة) (مرشح متوسط متكرر)، والتي تعود إلى أخذ العينات إذا أصبح وقت التنفيذ طويلاً. تمت إعادة تسمية الوسيط والوسيط 1 كمرشح متوسط عودي ومرشح متوسط قياسي.
2v8 - 23/5/2022 - تمت إضافة القدرة على قراءة التاريخ والوقت حيث أضافت القيمة x csvsave % كاملة و(بشكل كبير) تسريع عملية الكتابة إلى الملف. يتم استيفاء ملف csvsave إذا لزم الأمر، لذلك لا يلزم أن تكون قيم x متطابقة في جميع الآثار.
2v9 - 7/6/2022 - إصلاح الأخطاء - إذا كانت إزاحة x لا تساوي 0 وأضيفت آثار متعددة، تم تطبيق إزاحة x غير صحيحة على التتبع الثاني المضاف فصاعدًا. دقة أعلى داخليًا في تواريخ وأوقات القراءة، لذلك إذا تم تحديد "وقت البدء من الصفر"، فقد تكون النتائج أكثر دقة قليلاً.
3v0 - 15/8/22 - لم يتم إصداره مطلقًا - الإصدار الأول 64 بت
3 ضد 1 - 17/8/22 - لم يتم إصدارها مطلقًا. تمت إعادة هيكلة كود المصدر مع فصل "الملفات العامة" (التي يمكن استخدامها في برامج أخرى). تم نقل بعض الملفات من C++ إلى C حيث كانت مجرد مترجم C وC++ مما أدى إلى ظهور الكثير من التحذيرات.
3v2 – 14/9/2022 – الإصدار الأول 64 بت. سيستخدم إصدار 64 بت كل الذاكرة المتوفرة، بينما يقتصر إصدار 32 بت على 4 جيجابايت من ذاكرة الوصول العشوائي، وبصرف النظر عن هذه الوظيفة متطابقة. يمكن للإصدار 64 بت قراءة الملفات التي تحتوي على أكثر من 2 ^ 32 سطرًا، وستنفد ذاكرة الوصول العشوائي للإصدار 32 بت قبل قراءة العديد من الأسطر.
تغييرات طفيفة: عند استدعاء قائمة المقاييس عدة مرات سابقًا، سيتغير المقياس بشكل طفيف جدًا - ثابت. تم توسيع نطاق أحجام الخطوط المسموح بها للعنوان الرئيسي وعناوين المحور X/Y. يستخدم FFT الآن نوى المعالج المتعددة إذا كانت موجودة لتقديم نتائج أسرع.
3v3 - 26/9/2022 - تغييرات على الإصدار 64 بت للسماح بتحميل ملفات أكبر حجمًا (باستخدام الذاكرة الافتراضية بالإضافة إلى ذاكرة الوصول العشوائي)
3v4 - 1-10-2022 - تم إصلاح مشكلة معالجة النقطة في البوصة عند استخدام شاشات متعددة على الإصدار 64 بت.
3v5 - 11/06/2022 - عند النقر بزر الماوس الأيمن عند تحديد خط، يتم إعطاء ميل هذا الخط (dy/dx) بالإضافة إلى إحداثيات طرفي الخط. يمكن إعطاء اسم الملف في سطر الأوامر (في الإصدارات السابقة لم يعمل هذا مع الإصدار 64 بت). يُسمح الآن بتعبير يحتوي على دالة للمحور y (على سبيل المثال max($2,0) ).
3v6 3/6/2023 - تتسبب رؤوس الأعمدة الطويلة الآن في إضافة شريط تمرير تلقائيًا إلى مربعات قوائم X وY حتى يمكن رؤيتها بالكامل. احفظ نطاق x على الشاشة عند إضافة ملف CSV إلى قائمة "ملف". تمت إضافة الخيار (مربع اختيار) لإضافة الاسم الأساسي لاسم الملف إلى وسائل إيضاح الآثار على الرسم البياني، وهو أمر مفيد في حالة قراءة نفس العمود من ملفات متعددة. تمت إضافة عنوان المحور Y تلقائيًا ما لم يحدد المستخدم عنوانًا (استنادًا إلى رأس العمود للتتبع الأول المضاف). تمت إضافة خيار لتحميل X كقيمة/60 (ثانية->دقيقة)، وVal/3600 (ثانية->ساعة)، وval/86400 (ثانية->أيام). تم تحسين معالجة الأخطاء لقيم X في تنسيق التاريخ/الوقت المحدد من قبل المستخدم، وأصبح الآن مسموحًا بالمسافات البيضاء الزائدة.
3 ضد 7 10/6/2023 - تمت إضافة خانة الاختيار "إظهار الأساطير". تم التغيير إلى استخدام برنامج التحويل البرمجي Builder C++ 11.3. يتم الآن توسيط العنوان فوق الرسم البياني. تغييرات طفيفة على الأحجام والخطوط وما إلى ذلك في csvgraph.
3v8 4/7/2023 csvsave حيث يحتوي التتبع الثاني على نقاط أقل من التتبع الأول الذي تسبب في حدوث خطأ - تم إصلاحه.
3v9 26/2/2024
يمكن الآن فتح ملف سبق أن فتحه برنامج Excel (ورسائل الخطأ تكون أفضل عند الفشل في فتح الملفات). ملاءمة أفضل للمستخدم الذي يضغط على زر "أمر" بينما لا يزال الأمر السابق قيد التشغيل. يستخدم المشتق الآن خوارزمية Savitzky Golay ذات 17 نقطة بترتيب محدد من قبل المستخدم (يتم استخدام 1->10 فعليًا، ويمكن ضبطه على 1->لانهاية بواسطة المستخدم). تمت إضافة تنعيم Savitzky Golay كخيار تصفية (25 نقطة، بترتيب محدد من قبل المستخدم، يتم استخدام 1->10 فعليًا، ويمكن ضبطها على 1->لانهاية بواسطة المستخدم). تمت إضافة المشتق الثاني (d2y/d2x) إلى قائمة المرشحات التي تستخدم خوارزمية Savitzky Golay المكونة من 25 نقطة بترتيب محدد من قبل المستخدم (يتم استخدام 1->10 فعليًا، ويمكن ضبطها على 1->لانهاية بواسطة المستخدم). إذا كان هناك رقم مفقود في عمود مشار إليه في تعبير، فسيتم تعيينه إلى nan. تمت إضافة ثابت "nan" للتعبيرات. إذا تم تقييم التعبير إلى nan، فسيتم تخطي السطر، لذا يمكن أن تكون هذه طريقة فعالة لتحديد نقاط لعرضها في csvgraph. تمت إضافة "المتغيرات" x والخط إلى التعبيرات. x هي قيمة x الحالية، والخط هو رقم السطر الحالي. تم تحديث معالج التعبيرات بحيث يعمل nan==nan وnan!=nan كما هو متوقع في التعبيرات.
3v10 6/4/2024 تمت إضافة مرشح شريحة التنعيم.
4v0 3/7/2024 يعمل Csvgraph الآن مع نص Unicode (uft-8) بحيث يمكن استخدام أي أحرف. وهذا يعني أن ملف CSV المشفر بـ UFT-8 ستتم قراءته بشكل صحيح، وستتم معالجة BOM (علامة ترتيب البايت) الخاصة به بشكل صحيح إذا كان موجودًا. يمكن أن تتضمن عناوين الأعمدة والعناوين الرئيسية وعناوين المحاور أحرف utf8. Utf-8 متوافق مع الإصدارات السابقة مع ASCII 7 بت، لذا يجب معالجة ملفات CSV "التقليدية" تمامًا كما كانت من قبل. عند حفظ ملف CSV، لديك خيار تحديد إنشاء الملف باستخدام قائمة مكونات الصنف (BOM). قد تحتوي أسماء الملفات والمسارات إلى الملفات أيضًا على أحرف Unicode (utf-8). لاحظ أن حفظ ملف CSV مع الإصدارات الحديثة من Excel يؤدي إلى إنشاء ملف csv بتنسيق utf-8 مع BOM، ويلزم وجود BOM لكي يتعرف Excel على ملف csv إذا حاولت فتحه. تغييرات أخرى: • يمكن حفظ صور الشاشة بتنسيق BMP، JPG، png، gif، tiff وwdg. • ؟ يمكن استخدام عامل التشغيل بحرية في التعبيرات، على سبيل المثال ($1==0?0:1) تم قبوله الآن كتعبير صالح (في السابق كان يعمل فقط مع إزالة الأقواس) • للانحدار في كثيرات الحدود لـ sqrt(x)، والنقاط ذات القيمة السالبة يتم الآن تجاهل x. • مسموح بـ X وكذلك x في التعبيرات (مفيد في قص ولصق المعادلات [على سبيل المثال، من ملاءمة المنحنى] وقد يستخدم X)
Cvsgraph هو برنامج محمول لا يحتاج إلى التثبيت.
انسخ الملف csvgraph32.exe أو csvgraph64.exe إلى أي مكان على جهاز الكمبيوتر الخاص بك (أو قم بتشغيله من جهاز USB أو ما شابه). أضف ملف csvgraph.pdf إلى نفس الدليل للسماح بالوصول إلى الدليل من داخل ملف csvgraph (قائمة المساعدة/الدليل).
يسهل الاختصار الموجود على سطح المكتب تنفيذ ملف csvgraph.
راجع ترخيص الملف للحصول على التفاصيل، ولكن csvgraph مجاني للاستخدام التجاري وغير التجاري.
يعمل csvgraph على نظام التشغيل Windows (10 32 أو 64 بت). يجب أن يعمل على الإصدارات السابقة (إلى Vista) أو ضمن Wine على Linux ولكن هذا لم يتم اختباره.
من الإصدار 3v7، تم تجميع الكود المصدري باستخدام Embarcadero® C++Builder 11.3 - تم تضمين ملف مشروع مناسب في الأرشيف. يجب أن يتم تجميعه بدون أي أخطاء أو تحذيرات. يجب أن يكون من السهل الانتقال إلى إصدار أحدث من C++ Builder (على الأقل بالنسبة لهدف Windows 32/64 بت)، ولكن بالمثل لن يكون من الصعب جدًا العودة إلى الإصدارات السابقة (العودة إلى Builder C++ V5) إذا ضروري.
يمكن أن تكون أجزاء كثيرة من الكود المصدري ذات أهمية إذا كنت لا تستخدم C++Builder - على سبيل المثال، يعد atof.c جزءًا من ya-sprintf، راجع https://github.com/pj-miller/ya-sprintf
يحتوي expr-code.c على العديد من الإجراءات المفيدة بشكل عام - بما في ذلك مقيم التعبير العام السريع للتعبيرات المخزنة في السلاسل.
يحتوي UScientificGraph.cpp على تنفيذ مرشح متوسط فعال وتنفيذ متعدد الحدود وكلاهما يعمل بشكل جيد مع عدد كبير جدًا من نقاط البيانات ويُعتقد أن تطبيقات هذه العناصر جديدة. كما أنه يحتوي على خوارزمية قطع الخطوط السريعة التي تسمح بالتكبير/التصغير "غير المحدود".