كيفية إضافة خط عمودي إلى تاريخ محدد في matplotlib
يمكنك استخدام الدالة axvline() مع الدالة datetime() لإضافة خط عمودي إلى تاريخ محدد في Matplotlib:
import datetime import matplotlib. pyplot as plt plt. axvline ( datetime.datetime (2023, 1, 5))
يضيف هذا المثال بالذات خطًا عموديًا في 01/05/2023 على المحور السيني لمؤامرة في Matplotlib.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: إضافة خط عمودي إلى تاريخ محدد في Matplotlib
لنفترض أن لدينا DataFrame الباندا التالي الذي يحتوي على معلومات حول إجمالي المبيعات التي تمت على مدى ثمانية أيام متتالية في الشركة:
import datetime import numpy as np import pandas as pd #createDataFrame df = pd. DataFrame ({' date ': np. array ([datetime. datetime (2020, 1, i+1) for i in range(8)]), ' sales ': [3, 4, 4, 7, 8, 9, 14, 17]}) #view DataFrame print (df) dirty date 0 2023-01-01 3 1 2023-01-02 4 2 2023-01-03 4 3 2023-01-04 7 4 2023-01-05 8 5 2023-01-06 9 6 2023-01-07 14 7 2023-01-08 17
يمكننا استخدام الكود التالي لإنشاء مخطط للمبيعات يوميا وإضافة خط عمودي لتاريخ 01/05/2023 على المحور السيني:
import matplotlib. pyplot as plt #plot sales by date plt. plot_date ( df.date , df.sales ) #rotate x-axis ticks 45 degrees and right-aline plt. xticks (rotation=45, ha=' right ') #add vertical line at 1/5/2023 plt. axvline ( datetime.datetime (2023, 1, 5))
علماً أنه تم إضافة خط عمودي للمخطط بتاريخ 01/05/2023 على المحور السيني.
لاحظ أيضًا أنه يمكنك استخدام وسيطات color و linewidth و linestyle لتخصيص مظهر الخط:
import matplotlib. pyplot as plt #plot sales by date plt. plot_date ( df.date , df.sales ) #rotate x-axis ticks 45 degrees and right-aline plt. xticks (rotation=45, ha=' right ') #add customized vertical line at 1/5/2023 plt. axvline (datetime. datetime (2023, 1, 5), color=' red ', linewidth= 3 , linestyle=' -- ')
لاحظ أن الخط العمودي أصبح الآن أحمر اللون، وأعرض قليلاً مما كان عليه في المثال السابق، ومنقطًا.
لا تتردد في تغيير مظهر الخط العمودي لإعطائه الشكل الذي تريده.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في Matplotlib:
كيفية إضافة خط متوسط للرسم في Matplotlib
كيفية إضافة خط الاتجاه في Matplotlib
كيفية رسم خط أفقي في Matplotlib