برنامج نصي لسطر الأوامر يستخدم برنامج Microsoft Excel لرسم رسم بياني من ملف CSV.
تمت كتابة هذا المشروع في الأصل بواسطة أنطوان. هذا المستودع هو مجرد شوكة للمشروع الأصلي الذي قام به. أنا لا أعرفه شخصيا. أعجبني هذا العمل، ولم يكن موجودًا على جيثب بعد (على حد علمي)، لذلك قمت بإنشاء الريبو هنا. فيما يلي رواية للمؤلف الأصلي. في حالة وجود أي تعليقات أو اقتراحات، انتقل إلى موقع المؤلف وللإبلاغ عن أي مشكلات أو طلب تحسينات، افتح المشكلات هنا.
أقوم بعمل نماذج أولية للبرامج باستخدام مجموعة واسعة من لغات البرمجة. غالبًا ما يتعين علي إنشاء بيانات تتغير بمرور الوقت والتي يتم عرضها في الغالب بتنسيق شبكة. ومع ذلك، فهذه ليست أفضل طريقة لفهم كيفية تغير البيانات بمرور الوقت مقارنة برسم البيانات على الرسم البياني.
معظم لغات البرمجة التي أعرفها لا تقدم مكتبة أصلية لرسم البيانات على الرسم البياني. إنها ليست مهمة سهلة. غالبًا ما تتطلب معظم لغات البرمجة مكتبات خارجية لتنفيذ العملية ولا تعمل كل مكتبة بنفس الطريقة.
يعد Excel نظامًا أساسيًا أصليًا لتحليل ملفات القيم المفصولة بفواصل (CSV) ويمكن كتابته لرسم النتيجة في صورة.
الغرض من هذا البرنامج النصي هو السماح لأي لغة برمجة تولد بيانات برسم البيانات في صورة عن طريق حفظ البيانات الأولية في ملف CSV ثم استخدام قوة Excel لرسم النتيجة في صورة.
يسرد القسم التالي ميزات البرنامج النصي csvPlot :
يحتوي البرنامج النصي على بعض القيود الموضحة هنا.
قد تكون دقة الصورة الناتجة +- 1 بكسل مختلفة عما هو مطلوب في سطر الأوامر. يعد هذا قيدًا على كيفية معالجة Excel لأبعاد الصورة لأنه يستخدم "النقاط" كوحدة أساسية وليس وحدات البكسل الفعلية. يجب حساب التحويل من البكسل إلى النقاط والذي قد يحتوي على خطأ بسيط في الدقة.
تنسيق الصورة الوحيد المدعوم هو PNG. لا يزال من غير المعروف ما إذا كان Excel يدعم بالفعل JPG لتصدير الرسوم البيانية ولكن يبدو أن PNG هو المرشح المثالي نظرًا لأنه تنسيق مضغوط بدون فقدان البيانات.
من المتوقع أن يحتوي الصف الأول من كل عمود على عنوان العمود الذي سيتم استخدامه كاسم السلسلة المرسومة داخل الرسم البياني.
الأمر الخاص بتشغيل البرنامج النصي هو كما يلي. يجب استدعاء البرنامج النصي باستخدام ما لا يقل عن 6 وسيطات لسطر الأوامر.
اسم | وصف |
---|---|
ملف الإدخال | مسار ملف الإدخال CSV |
ملف الإخراج | مسار إخراج الصورة PNG |
عرض | عرض الصورة الناتجة بالبكسل |
ارتفاع | ارتفاع الصورة الناتجة بالبكسل |
السلسلة رقم 1، العمود X | فهرس العمود X للسلسلة الأولى |
السلسلة رقم 1، العمود Y | فهرس العمود Y للسلسلة الأولى |
السلسلة رقم 2، العمود X | مؤشر العمود X من السلسلة الثانية |
السلسلة رقم 2، العمود Y | مؤشر العمود Y للسلسلة الثانية |
السلسلة #ن، العمود X | ... |
سلسلة #ن، العمود Y | ... |
لاحظ أن فهرس العمود يستند إلى 1 وليس إلى 0. وهذا يعني أن العمود A هو العمود 1 وليس العمود 0.
البرنامج النصي مكتوب بلغة VBScript. استخدم ما يلي لتنفيذ البرنامج النصي من ملف دفعي (*.bat):
@echo off
cscript //nologo "%~dp0 csvPlot .vbs" pathtodemo.csv pathtodemo.png 800 600 1 2
pause
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:>cd /d C:Temp csvPlot demo
C:Temp csvPlot demo>cscript //Nologo csvPlot .vbs %cd%CarEngineModel.csv %cd%CarEngineModel.png 853 479 1 3 1 4 1 2 Loading input file C:Temp csvPlot demoCarEngineModel.csv...
File load successful.
File has 4 columns.
Plotting series of columns 1 and 3...
Plotting series of columns 1 and 4...
Plotting series of columns 1 and 2...
File C:Temp csvPlot demoCarEngineModel.png saved successfully.
C:Temp csvPlot demo>
يوضح المثال التالي القيمة الختامية لأسعار أسهم Apple خلال عام 2015. يتم توفير البيانات من قبل Nasdaq هنا.
يمكن تنزيل بيانات CSV هنا: أسعار أسهم Apple مع مرور الوقت (2015).csv
فيما يلي عرض لنموذج افتراضي لمحرك السيارة والذي تزداد سرعته مع مرور الوقت بناء على ردود فعل دواسة الوقود.
يمكن تنزيل بيانات CSV هنا: Car Engine Model.csv
يوضح ما يلي رسمًا بيانيًا لوظيفة sin() وcos() وlog() في Excel.
يمكن تنزيل بيانات CSV هنا: sin(x)، cos(x) & log(x) function data.csv