كيفية رسم سلسلة زمنية في matplotlib (مع أمثلة)
يمكنك استخدام بناء الجملة التالي لرسم سلسلة زمنية في Matplotlib:
import matplotlib. pyplot as plt plt. plot (df. x , df. y )
هذا يفترض أن المتغير x ينتمي إلى فئة datetime.datetime() .
توضح الأمثلة التالية كيفية استخدام بناء الجملة هذا لرسم بيانات السلاسل الزمنية في بايثون.
مثال 1: رسم سلسلة زمنية أساسية في Matplotlib
يوضح الكود التالي كيفية رسم سلسلة زمنية في Matplotlib توضح إجمالي المبيعات التي قامت بها الشركة لمدة 12 يومًا متتاليًا:
import matplotlib. pyplot as plt import datetime import numpy as np import pandas as pd #define data df = pd. DataFrame ({' date ': np. array ([datetime. datetime (2020, 1, i+1) for i in range(12)]), ' sales ': [3, 4, 4, 7, 8, 9, 14, 17, 12, 8, 8, 13]}) #plot time series plt. plot (df. date , df. sales , linewidth= 3 )
يعرض المحور X التاريخ بينما يعرض المحور Y إجمالي المبيعات في كل تاريخ.
المثال 2: تخصيص تسميات العنوان والمحاور
يمكنك استخدام التعليمة البرمجية التالية لإضافة تسميات عنوان ومحور إلى المخطط:
import matplotlib. pyplot as plt import datetime import numpy as np import pandas as pd #define data df = pd. DataFrame ({' date ': np. array ([datetime. datetime (2020, 1, i+1) for i in range(12)]), ' sales ': [3, 4, 4, 7, 8, 9, 14, 17, 12, 8, 8, 13]}) #plot time series plt. plot (df. date , df. sales , linewidth= 3 ) #add title and axis labels plt. title (' Sales by Date ') plt. xlabel (' Date ') plt. ylabel (' Sales ')
مثال 3: رسم سلاسل زمنية متعددة في Matplotlib
يوضح التعليمة البرمجية التالية كيفية رسم سلاسل زمنية متعددة في قطعة أرض واحدة في Matplotlib:
import matplotlib. pyplot as plt
import datetime
import numpy as np
import pandas as pd
#define data
df = pd. DataFrame ({' date ': np. array ([datetime. datetime (2020, 1, i+1)
for i in range(12)]),
' sales ': [3, 4, 4, 7, 8, 9, 14, 17, 12, 8, 8, 13]})
df2 = pd. DataFrame ({' date ': np. array ([datetime. datetime (2020, 1, i+1)
for i in range(12)]),
' returns ': [1, 1, 2, 3, 3, 3, 4, 3, 2, 3, 4, 7]})
#plot both time series
plt. plot ( df.date , df.sales , label=' sales ', linewidth= 3 )
plt. plot ( df2.date , df2.returns , color=' red ', label=' returns ', linewidth= 3 )
#add title and axis labels
plt. title (' Sales by Date ')
plt. xlabel (' Date ')
plt. ylabel (' Sales ')
#add legend
plt. legend ()
#displayplot
plt. show ()
مصادر إضافية
Matplotlib: كيفية إنشاء boxplots حسب المجموعة
Matplotlib: كيفية إنشاء مخططات شريطية مكدسة