الرسوم البيانية عنصر يحتاج إليه كثيرا في المعطيات الإعلامية، ولأن كان استعمال الرسوم البيانية يعد سهلا وفي المتناول إذا ما تعلق الأمر بالتطبيقات المكتبية وغيرها، فان استعمالها من خلال البرمجيات الموجهة للواب ليس بالسهولة المنتظرة، وخاصة بالنسبة للبرمجيات المطورة بلغة PHP.
والى فترة ليست بعيدة كانت توجد فقط بعض التطبيقات التي تمكن من إظهار الرسوم التي يمكن استعمالها من خلال لغة PHP، وتكون عادة في شكل لواحق، ولكن المشكلة هي ان هذه البرمجيات ليست مجانية، كما توجد لواحق أخرى، مطورة بلغة ActionScript والتي يمكن ادراجها ايضا ولكن هذه ايضا بالاضافة لثمنها، فانها ليست متاحة للتصرف في شيفرتها المصدرية بل هي في شكل ملفات "فلاش".
مشروع pChart:
بدأت تظهر بعض الحلول التي تقدم خدمة الرسوم البيانية الموجهة للتطبيقات المطورة بلغة PHP وبشكل مجاني من خلال رخص المصادر المفتوحة، ومن هذه الخدمات خدمة pChart موضوع مقالي اليوم.
pChart هو تطبيق في شكل أقسام (class) موجه بدرجة أولى لمنصات PHP (framework)، ولكن هذا لا يمنع استعماله في تطبيقات PHP العادية.
يقوم على تطوير pChart فريق من المطورين المتبرعين كعادة المشاريع ذات المصادر المفتوحة، والمشروع يبدو جديا وكبيرا، حيث يوفر باستمرار نسخ جديدة للتنزيل، كما يوفر ملحقات (Add-ons)، ومنتدى لإبداء الرأي والنقاشات والتنبيه على أخطاء البرمجيات.
وتقنيا، يحتوي مشروع pChart على ثلاثة أقسام:
pChart.class: وهو القسم المعني بإظهار الرسوم على اختلاف أنواعها.
pData.class: وهو القسم المعني بقراءة وتنسيق المعطيات مصدر الرسوم
pCache.class: وهو القسم المعني بادارة النسخ الكامنة المخبئة لدى الخادم لتسريع عملية انتاج الرسوم
ويمكن pChart من إظهار الرسوم بصيغ متنوعة، كما يمكنه من قراءة المعطيات مصدر الرسوم من خلا العديد من المصادر، فهو يمكن ان يقراها من قاعدة البيانات مباشرة، او من خلال ملف نصي csv، كما إنه بالإمكان ان يتم تلقيم البرمجية بالمعطيات مباشرة.
وعمليا تكون مراحل استعمال pChart كالتالي:
- الاطلاع على المعطيات المصدر وقراءتها ثم تهيئتها لرسمها.
- تهيئة الرسم للإظهار من خلال اختيار نوعه، وانحناءاته ومختلف تفاصيله.
- حفظ الرسم على الخادم أو إرساله مباشرة للمتصفح الذي قام بالطلب.
ونظرا لان إنتاج الرسوم يتطلب استعمالا كبيرا لمكتبية الصور للخادم، فان إنتاج رسوم pChart يتطلب وقتا غير اعتيادي، ولذلك يستعمل قسم pCache لتخزين النسخ من الرسوم لدى الخادم للاستعمال المستقبلي ولرفع الضغط على الخادم.
وهذه عينة من الشيفرة المصدرية المستعملة مع pChart والتي تقوم بإنتاج رسم بياني في شكل خطوط:
// Standard inclusions
include("pChart/pData.class");
include("pChart/pChart.class");
// Dataset definition
$DataSet = new pData;
$DataSet->AddPoint(array(1,4,3,2,3,3,2,1,0,7,4,3,2,3,3,5,1,0,7));
$DataSet->AddSerie();
$DataSet->SetSerieName("Sample data","Serie1");
// Initialise the graph
$Test = new pChart(700,230);
$Test->setFontProperties("Fonts/tahoma.ttf",10);
$Test->setGraphArea(40,30,680,200);
$Test->drawGraphArea(252,252,252);
$Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2);
$Test->drawGrid(4,TRUE,230,230,230,255);
// Draw the line graph
$Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());
$Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);
// Finish the graph
$Test->setFontProperties("Fonts/tahoma.ttf",8);
$Test->drawLegend(45,35,$DataSet->GetDataDescription(),255,255,255);
$Test->setFontProperties("Fonts/tahoma.ttf",10);
$Test->drawTitle(60,22,"My pretty graph",50,50,50,585);
$Test->Render("Naked.png");
?>
الروابط
موقع pChart
26-08-2011 / 04:38:34 عبدالمجيد الحربي