
مكتبة (pynarrative) هي حزمة في بايثون تساعد على إضافة سرد قصصي للتحليلات بطريقة سهلة ومؤتمتة من خلال ربط التعليقات التوضيحية والارشادرات التفاعلية بالتغير في البيانات. لتوضيح طريقة عمل هذه الحزمة سوف نقوم في البداية بتفعيل المكتبات المطلوبة كما يلي:
In:
import altair as alt
import pandas as pd
import pynarrative as pn
كذلك سوف نقوم بتحميل البيانات (Monthly_Sales_2024)، واستيرادها كما في الكود:
In: sales_data = pd.read_csv('Monthly_Sales_2024.csv') sales_data['Date'] = pd.to_datetime(sales_data['Date']) print(sales_data.head()) Out: Date Sales Note 0 2024-01-01 738 NaN 1 2024-02-01 907 NaN 2 2024-03-01 939 NaN 3 2024-04-01 865 Sales drop due to TAX regulations 4 2024-05-01 976 NaN
بعد ذلك سوف يتم تصوير البيانات وإضافة السرد القصصي عليها بشكل مباشر من خلال البيانات كما يلي:
In: # تصوير البيانات chart = pn.Story(sales_data).mark_line().encode( x=alt.X('Date:T', title='Date', axis=alt.Axis(labelFontSize=12, titleFontSize=14)), y=alt.Y('Sales:Q', title='Sales ($)', scale=alt.Scale(domain=[600, sales_data['Sales'].max() + 50]), axis=alt.Axis(labelFontSize=12, titleFontSize=14)) ) # إضافة السرد القصصي filtered_sales_data = sales_data[sales_data['Note'].notna()] for i in filtered_sales_data.index: chart = chart.add_annotation( filtered_sales_data['Date'][i], filtered_sales_data['Sales'][i], filtered_sales_data['Note'][i], arrow_direction='left', arrow_dx=25, arrow_dy=-1, arrow_color='red', arrow_size=30, label_color='red', label_dx=45, label_dy=-5, label_size=14, show_point=True ) chart.render()
