كيفية إنشاء رسم بياني ديناميكي متدحرج
سيناريوهات الاستخدام المحتملة
رسم بياني متدحرج ديناميكي هو نوع من التمثيل البياني المستخدم لعرض البيانات التي تتغير مع مرور الوقت. تم تصميمه لتوفير رؤية في الوقت الحقيقي للبيانات، مما يتيح للمستخدمين تتبع التحديثات المستمرة والاتجاهات. يقوم الرسم البياني بالتحديث بشكل مستمر كلما تمت إضافة بيانات جديدة، ويمرر تلقائيًا لعرض أحدث المعلومات.
يتم استخدام رسوم بيانية متدحرجة ديناميكية عادة في مختلف الصناعات، مثل التمويل، وتحليل سوق الأسهم، وتتبع الطقس، وتحليل وسائل التواصل الاجتماعي. إنها تمكن المستخدمين من تصور وتحليل أنماط البيانات واتخاذ قرارات مستنيرة استنادًا إلى المعلومات في الوقت الحقيقي.
عموما، تعتبر هذه الرسوم بيانية متدحرجة ديناميكية أدوات قيمة لمراقبة وتحليل البيانات الزمنية، وتسهيل اتخاذ القرارات في الوقت الحقيقي وتعزيز القدرات على تصور البيانات.
استخدام Aspose Cells لإنشاء رسم بياني ديناميكي متدحرج
استخدام Aspose.Cells لبایتون via .NET لإنشاء رسم بياني قابلو للتمرير الديناميكي
في الفقرات التالية، سنوضح لك كيفية إنشاء رسم بياني قابل للتمرير الديناميكي باستخدام Aspose.Cells لبایتون via .NET. سنعرض لك الكود للمثال، بالإضافة إلى ملف إكسل المُنشأ باستخدام هذا الكود.
الكود المثالي
سينشئ الكود العينة التالي ملف الرسم البياني الديناميكي المتدحرج.
from aspose.cells import Workbook | |
from aspose.cells.charts import ChartType | |
# How to Create a Dynamic Scrolling Chart | |
# Your local test path | |
LocalPath = r"" | |
# Create a new workbook and access the first worksheet. | |
workbook = Workbook() | |
sheets = workbook.worksheets | |
sheet = sheets[0] | |
# Populate the data for the chart. Add values to cells and set series names. | |
sheet.cells.get("A1").put_value("Day") | |
sheet.cells.get("B1").put_value("Sales") | |
# In this example, we will add 30 days of data | |
allDays = 30 | |
showDays = 10 | |
currentDay = 1 | |
for i in range(allDays): | |
_cellA = "A" + str(i + 2) | |
_cellB = "B" + str(i + 2) | |
sheet.cells.get(_cellA).put_value(i + 1) | |
value = 50 * (i % 2) + 20 * (i % 3) + 10 * (i / 3) | |
sheet.cells.get(_cellB).put_value(value) | |
# This is the Dynamic Scrolling Control Data | |
sheet.cells.get("G19").put_value("Start Day") | |
sheet.cells.get("G20").put_value(currentDay) | |
sheet.cells.get("H19").put_value("Show Days") | |
sheet.cells.get("H20").put_value(showDays) | |
# Set the dynamic range for the chart's data source. | |
index = sheets.names.add("Sheet1!ChtScrollData") | |
sheets.names[index].refers_to = "=OFFSET(Sheet1!$B$2,Sheet1!$G$20,0,Sheet1!$H$20,1)" | |
# Set the dynamic range for the chart's data labels. | |
index = sheets.names.add("Sheet1!ChtScrollLabels") | |
sheets.names[index].refers_to = "=OFFSET(Sheet1!$A$2,Sheet1!$G$20,0,Sheet1!$H$20,1)" | |
# Add a ScrollBar for the Dynamic Scrolling Chart | |
bar = sheet.shapes.add_scroll_bar(2, 0, 3, 0, 200, 30) | |
bar.min = 0 | |
bar.max = allDays - showDays | |
bar.current_value = currentDay | |
bar.linked_cell = "$G$20" | |
# Create a chart object and set its data source. | |
chartIndex = sheet.charts.add(ChartType.LINE, 2, 4, 15, 10) | |
chart = sheet.charts[chartIndex] | |
chart.n_series.add("Sales", True) | |
chart.n_series[0].values = "Sheet1!ChtScrollData" | |
chart.n_series[0].x_values = "Sheet1!ChtScrollLabels" | |
# Save the workbook as an Excel file. | |
workbook.save(LocalPath + "DynamicScrollingChart.xlsx") |
ملاحظات
في الملف الذي تم إنشاؤه، يمكنك التشغيل على شريط التمرير، في حين يقوم الرسم البياني بحساب البيانات العشر مجموعات الأحدث تلقائيًا. يتم ذلك باستخدام صيغة “OFFSET” في الكود العينة:
"=OFFSET(Sheet1!$B$2,Sheet1!$G$20,0,Sheet1!$H$20,1)"
يمكنك تجربة تغيير الرقم “10” إلى “15” في الخلية “Sheet1!$H$20”، وسيساعد الرسم البياني الديناميكي على حساب أحدث 15 مجموعة من البيانات. الآن لقد أنشأنا رسم بياني للقوائم القابلة للتمرير الديناميكي باستخدام Aspose.Cells لبایتون via .NET بنجاح.