الرسم البياني

أضف الرسم البياني

func (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error

يوفر AddChart طريقة لإضافة مخطط في ورقة عمل من خلال مجموعة تنسيق مخطط معين (مثل الإزاحة والقياس وإعدادات نسبة العرض إلى الارتفاع وإعدادات الطباعة) ومجموعة الخصائص.

يوضح ما يلي Type الرسم البياني الذي يدعمه برنامج excelize:

ID تعداد الرسم البياني
0 Area مخطط منطقة ثنائي الأبعاد
1 AreaStacked مخطط مساحي مكدس ثنائي الأبعاد
2 AreaPercentStacked مخطط مساحي مكدس بنسبة 100٪ ثنائي الأبعاد
3 Area3D مخطط مساحي ثلاثي الأبعاد
4 Area3DStacked ممخطط مساحي مكدس ثلاثي الأبعاد
5 Area3DPercentStacked مخطط مساحي مكدس بنسبة 100٪ ثلاثي الأبعاد
6 Bar مخطط شريطي متفاوت الأبعاد ثنائي الأبعاد
7 BarStacked مخطط شريطي مكدس ثنائي الأبعاد
8 BarPercentStacked مخطط شريطي مكدس ثنائي الأبعاد بنسبة 100٪
9 Bar3DClustered مخطط شريطي ثلاثي الأبعاد متفاوت
10 Bar3DStacked مخطط شريطي مكدس ثلاثي الأبعاد
11 Bar3DPercentStacked مخطط شريطي مكدس ثلاثي الأبعاد بنسبة 100٪
12 Bar3DConeClustered مخطط شريطي مخروطي ثلاثي الأبعاد متفاوت
13 Bar3DConeStacked مخطط شريطي مخروطي ثلاثي الأبعاد مكدس
14 Bar3DConePercentStacked مخطط شريطي مخروطي 100٪ ثلاثي الأبعاد
15 Bar3DPyramidClustered ممخطط شريطي ثلاثي الأبعاد هرمي متفاوت
16 Bar3DPyramidStacked الرسم البياني الشريطي ثلاثي الأبعاد المكدس بالهرم
17 Bar3DPyramidPercentStacked الرسم البياني الشريطي ثلاثي الأبعاد المكدس بالهرم 100٪
18 Bar3DCylinderClustered مخطط شريطي اسطوانات ثلاثية الأبعاد متفاوت المسافات
19 Bar3DCylinderStacked مخطط شريطي مكدس اسطوانة ثلاثية الأبعاد
20 Bar3DCylinderPercentStacked مخطط شريطي مكدس اسطوانة ثلاثية الأبعاد 100٪
21 Col مخطط عمودي ثنائي الأبعاد متفاوت
22 ColStacked مخطط عمودي مكدس ثنائي الأبعاد
23 ColPercentStacked مخطط عمودي مكدس ثنائي الأبعاد 100٪
24 Col3DClustered مخطط عمودي ثلاثي الأبعاد متفاوت
25 Col3D مخطط عمودي ثلاثي الأبعاد
26 Col3DStacked مخطط عمودي مكدس ثلاثي الأبعاد
27 Col3DPercentStacked مخطط عمودي مكدس ثلاثي الأبعاد 100٪
28 Col3DCone ممخطط عمودي مخروطي ثلاثي الأبعاد
29 Col3DConeClustered مخطط عمودي مخروط ثلاثي الأبعاد متفاوت المسافات
30 Col3DConeStacked ممخطط عمودي مكدس مخروطي ثلاثي الأبعاد
31 Col3DConePercentStacked مخطط عمودي مكدس مخروطي ثلاثي الأبعاد 100٪
32 Col3DPyramid مخطط عمودي هرمي ثلاثي الأبعاد
33 Col3DPyramidClustered مخطط عمودي هرم ثلاثي الأبعاد متفاوت
34 Col3DPyramidStacked مخطط عمودي هرمي ثلاثي الأبعاد مكدس
35 Col3DPyramidPercentStacked مخطط عمودي هرمي ثلاثي الأبعاد مكدس 100٪
36 Col3DCylinder مخطط عمودي اسطوانات ثلاثية الأبعاد
37 Col3DCylinderClustered مخطط عمود أسطواني ثلاثي الأبعاد متفاوت
38 Col3DCylinderStacked مخطط عمودي مكدس بأسطوانة ثلاثية الأبعاد
39 Col3DCylinderPercentStacked مخطط عمودي مكدس بأسطوانة ثلاثية الأبعاد 100٪
40 Doughnut دونات الرسم البياني
41 Line مخطط خطي
42 Line3D مخطط خطي ثلاثي الأبعاد
43 Pie مخطط دائري
44 Pie3D مخطط دائري ثلاثي الأبعاد
45 PieOfPie مخطط دائري مزدوج
46 BarOfPie شريط الرسم البياني
47 Radar مخطط رادار
48 Scatter مخطط مبعثر
49 Surface3D مخطط سطحي ثلاثي الأبعاد
50 WireframeSurface3D مخطط سطح إطار سلكي ثلاثي الأبعاد
51 Contour مخطط كونتور
52 WireframeContour مخطط كفاف الإطار السلكي
53 Bubble مخطط فقاعي
54 Bubble3D مخطط فقاعي ثلاثي الأبعاد
55 StockHighLowClose رسم بياني لأسعار الأسهم: أعلى-أدنى-إغلاق
56 StockOpenHighLowClose رسم بياني للأسهم: فتح-مرتفع-منخفض-إغلاق

في نطاق بيانات مخطط Office Excel ، تحدد Series مجموعة المعلومات التي سيتم رسم البيانات لها ، وعنصر وسيلة الإيضاح (سلسلة) ، وتسمية المحور الأفقي (الفئة).

خيارات Series التي يمكن تعيينها هي:

معامل تفسير
Name عنصر وسيلة الإيضاح (سلسلة) ، معروض في وسيلة إيضاح الرسم البياني وشريط الصيغة. معلمة Name اختيارية. إذا لم تحدد هذه القيمة ، فستكون القيمة الافتراضية هي Series 1 .. n. دعم Name لتمثيل الصيغة ، على سبيل المثال: Sheet1!$A$1.
Categories تسمية المحور الأفقي (الفئة). معلمة Categories اختيارية في معظم أنواع المخططات ، والمعلمة الافتراضية هي تسلسل متجاور من النموذج 1..n.
Values تعتبر منطقة بيانات المخطط ، وهي أهم معلمة في Series ، هي أيضًا المعلمة الوحيدة المطلوبة عند إنشاء مخطط. يربط هذا الخيار المخطط ببيانات ورقة العمل التي يعرضها.
Fill يؤدي هذا إلى تعيين تنسيق تعبئة سلسلة البيانات.
Line هذا يحدد تنسيق الخط للمخطط الخطي. تعتبر خاصية Line اختيارية وإذا لم يتم توفيرها ، فسيتم نمطها الافتراضي. الخيارات التي يمكن تعيينها هي Width. نطاق Width هو 0.25 نقطة - 999 نقطة. إذا كانت قيمة العرض خارج النطاق ، فإن العرض الافتراضي للخط هو 2 نقطة.
Legend يُحدد هذا خط نص الأسطورة لسلسلة بيانات. خاصية Legend اختيارية.
Marker يؤدي هذا إلى تعيين علامة المخطط الخطي والمخطط المبعثر. نطاق الحقل الاختياري Size هو 2-72 (القيمة الافتراضية هي 5). قيمة التعداد للحقل الاختياري Symbol هي (القيمة الافتراضية هي auto): circle, dash, diamond, dot, none, picture, plus, square, star, triangle, x, auto.
DataLabelPosition يؤدي هذا إلى تعيين موضع تسمية بيانات سلسلة المخطط.
DataPoint يُحدد هذا تنسيق نقاط البيانات الفردية في سلسلة مخططات دائرية أو دائرية أو ثلاثية الأبعاد. خاصية DataPoint اختيارية.

تعيين خصائص وسيلة إيضاح الرسم البياني. الخيارات التي يمكن ضبطها هي:

معامل اكتب تفسير
Position string موضع وسيلة إيضاح الرسم البياني
ShowLegendKey bool تعيين مفاتيح وسيلة الإيضاح يجب أن تظهر في تسميات البيانات
Font Font عيّن خصائص خط نص مفتاح الرسم البياني. الخصائص التي يمكن ضبطها هي نفسها خصائص الخط المستخدم لتنسيق الخلايا. يمكن ضبط خصائص نوع الخط، والحجم، واللون، والخط العريض، والمائل، والتسطير، والخط المشطوب.

قم بتعيين Position لوسيلة إيضاح الرسم البياني. موضع وسيلة الإيضاح الافتراضي هو right. الوظائف المتاحة هي:

معامل تفسير
none تعطيل وسيلة الإيضاح
top على القمة
bottom في الاسفل
left على اليسار
right على اليمين
top_right في أعلى اليمين

تعيين المعلمة ShowLegendKey ، يجب أن تظهر مفاتيح وسيلة الإيضاح في ملصقات البيانات. القيمة الافتراضية هي false.

يمكنك تحديد خصائص عنوان الرسم البياني باستخدام حقل Title بنوع بيانات ChartTitle. الخصائص التي يمكن تحديدها هي:

معامل اكتب تفسير
Fill Fill حدد لون تعبئة عنوان الرسم البياني. خاصية Fill اختيارية.
Border LineOptions لتعيين حدود عنوان المخطط، تكون الخصائص التي يمكن ضبطها هي نفسها خصائص عنصر الحدود المستخدم لتنسيق الخلايا. خاصية Border اختيارية.
Paragraph []RichTextRun قم بتعيين النص المنسق لعنوان الرسم البياني. خاصية Paragraph اختيارية، ولا يمكن تعيينها في نفس الوقت مع خاصية Formula.
Font *Font قم بتعيين خصائص الخط لنص صيغة عنوان الرسم البياني. خاصية Font اختيارية.
Formula string حدد صيغة نص عنوان المخطط. على سبيل المثال: Sheet1!$A$1. خاصية Formula اختيارية، ولا يمكن تحديدها في الوقت نفسه مع خاصية Paragraph.
OffsetX int حدد الإزاحة الأفقية لعنوان الرسم البياني. خاصية OffsetX اختيارية. القيمة الافتراضية هي 0، ويجب أن تكون قيمة OffsetX عددًا صحيحًا بين 0 و 100.
OffsetY int حدد الإزاحة الرأسية لعنوان الرسم البياني. خاصية OffsetY اختيارية. القيمة الافتراضية هي 0، ويجب أن تكون قيمة OffsetY عددًا صحيحًا بين 0 و 100.
Width int حدد عرض عنوان الرسم البياني. خاصية Width اختيارية. القيمة الافتراضية هي 0، ويجب أن تكون قيمة Width عددًا صحيحًا بين 0 و 100.
Height int حدد ارتفاع عنوان الرسم البياني. خاصية Height اختيارية. القيمة الافتراضية هي 0، ويجب أن تكون قيمة Height عددًا صحيحًا بين 0 و 100.
Overlay bool يُحدد هذا الخيار كيفية وضع عنوان الرسم البياني فوق الرسم البياني. خاصية Overlay اختيارية، وقيمتها الافتراضية هي false.

توفر المعلمة ShowBlanksAs إعداد "إخفاء الخلايا وإفراغها". القيمة الافتراضية هي: gap. في تطبيق Excel "يتم عرض الخلية الفارغة على أنها": "الفراغ". فيما يلي قيم اختيارية لهذه المعلمة:

معامل تفسير
gap الفراغ
span ربط نقاط البيانات بخطوط مستقيمة
zero قيمة صفرية

تعيين أسطورة الرسم البياني لجميع سلاسل البيانات باستخدام خاصية Legend. خاصية Legend اختيارية.

قم بتعيين حجم الفقاعة في كافة سلاسل البيانات للمخطط الفقاعي أو المخطط الفقاعي ثلاثي الأبعاد بواسطة خاصية BubbleSizes. الخاصية BubbleSizes اختيارية. العرض الافتراضي هو 100، ويجب أن تكون القيمة أكبر من 0 وأقل أو تساوي 300.

قم بتعيين حجم فتحة الكعكة في كافة سلاسل البيانات للمخطط الدائري بواسطة خاصية HoleSize. الخاصية HoleSize اختيارية. العرض الافتراضي هو 75، ويجب أن تكون القيمة أكبر من 0 وأقل أو تساوي 90.

يحدد أن لكل علامة بيانات في السلسلة لون مختلف حسب VaryColors. القيمة الافتراضية هي true.

توفر المعلمة Format إعدادات للمعلمات مثل إزاحة المخطط ، والمقياس ، وإعدادات نسبة العرض إلى الارتفاع ، وخصائص الطباعة ، بالإضافة إلى تلك المستخدمة في الوظيفة AddPicture.

قم بتعيين خصائص منطقة الرسم البياني باستخدام حقل PlotArea بنوع بيانات ChartPlotArea. الخصائص التي يمكن تعيينها هي:

معامل اكتب إفتراضي تفسير
SecondPlotValues int 0 يحدد القيم في المخطط الثاني للمخطط PieOfPie و BarOfPie.
ShowBubbleSize bool false يحدد حجم الفقاعة الذي يجب أن يظهر في ملصق البيانات.
ShowCatName bool true يُحدد أن اسم الفئة يجب أن يظهر في تسمية البيانات. خاصية ShowCatName اختيارية.
ShowDataTable bool false يتم استخدامه لإضافة جدول بيانات أسفل الرسم البياني، اعتمادًا على نوع الرسم البياني، ومتاح فقط للرسوم البيانية من نوع المنطقة والشريط والعمود والخط.
ShowDataTableKeys bool false يُستخدم لإضافة مفتاح التسمية التوضيحية في جدول البيانات، ويعمل فقط عند تفعيل خاصية ShowDataTable. خاصية ShowDataTableKeys اختيارية.
ShowLeaderLines bool false يُحدد خطوط القيادة التي سيتم عرضها لعلامات البيانات. خاصية ShowLeaderLines اختيارية.
ShowPercent bool false يحدد أن النسبة يجب أن تظهر في تسمية البيانات.
ShowSerName bool false يحدد أن اسم السلسلة يجب أن يظهر في تسمية البيانات.
ShowVal bool false يحدد أن القيمة يجب أن تظهر في تسمية البيانات.
Fill Fill N/A حدد لون التعبئة للرسم البياني.
UpBars ChartUpDownBar N/A تحدد التنسيق لأسهم صعود مخطط الأسهم. خاصية UpBars اختيارية.
DownBars ChartUpDownBar N/A تحدد صيغة الأشرطة الهابطة في مخطط الأسهم. خاصية DownBars اختيارية.
NumFmt ChartNumFmt N/A يحدد أنه إذا كان مرتبطًا بالمصدر وقم بتعيين رمز تنسيق الأرقام المخصص لتسميات البيانات. الخاصية NumFmt اختيارية. رمز التنسيق الافتراضي هو General.

عيّن الخيارات الأساسية للمحور الأفقي والعمودي حسب XAxis و YAxis.

خصائص XAxis التي يمكن تعيينها هي:

معامل اكتب إفتراضي تفسير
None bool false تعطيل المحاور.
DropLines bool false يُحدد هذا الخيار خطوط الإسقاط للرسوم البيانية ثنائية وثلاثية الأبعاد، سواءً كانت مساحية أو خطية. خطوط الإسقاط هي خطوط رأسية تربط نقاط البيانات في الرسم البياني بالمحور الأفقي (محور الفئات). تُستخدم هذه الخطوط عادةً في الرسوم البيانية الخطية أو المساحية لتسهيل تحديد موقع كل نقطة ضمن فئتها بدقة. خاصية DropLines اختيارية.
HighLowLines bool false يُحدد هذا الخيار خطوط الحد الأعلى والأدنى للرسم البياني الخطي ثنائي الأبعاد. تُعرض هذه الخطوط افتراضيًا في رسوم بيانية الأسهم، وتمتد من أعلى قيمة إلى أدنى قيمة في كل فئة. خاصية HighLowLines اختيارية.
MajorGridLines bool false يحدد خطوط الشبكة الرئيسية.
MinorGridLines bool false يحدد خطوط الشبكة الثانوية.
TickLabelSkip int 1 يحدد عدد علامات التجزئة المطلوب تخطيها بين التسمية المرسومة. خاصية TickLabelSkip اختيارية. القيمة الافتراضية هي تلقائي.
ReverseOrder bool false يحدد أن الفئات أو القيم بترتيب عكسي (اتجاه المخطط). خاصية ReverseOrder اختيارية.
Maximum *float64 0 يحدد أن الحد الأقصى الثابت ، 0 هو تلقائي. الخاصية القصوى اختيارية.
Minimum *float64 0 يحدد أن الحد الأدنى الثابت ، 0 هو تلقائي. الحد الأدنى من الممتلكات اختياري. القيمة الافتراضية هي تلقائي.
Alignment Alignment N/A يحدد محاذاة المحور الأفقي والرأسي. خصائص الخط التي يمكن ضبطها هي: TextRotation و Vertical
Font Font غير متاح يحدد أن خط المحور الأفقي.
NumFmt ChartNumFmt غير متاح يحدد أنه في حالة الارتباط بالمصدر وتعيين رمز تنسيق رقم مخصص للمحور.
Title []RichTextRun غير متاح يحدد أن عنوان المحور الأفقي الأساسي وتغيير حجم المخطط.

خصائص YAxis التي يمكن تعيينها هي:

معامل اكتب إفتراضي تفسير
None bool false تعطيل المحاور.
MajorGridLines bool false يحدد خطوط الشبكة الرئيسية.
MinorGridLines bool false يحدد خطوط الشبكة الثانوية.
MajorUnit float64 0 يحدد المسافة بين العلامات الرئيسية. يجب أن يحتوي على رقم موجب من الفاصلة العائمة. الخاصية MajorUnit اختيارية. القيمة الافتراضية هي تلقائي.
ReverseOrder bool false يحدد أن الفئات أو القيم بترتيب عكسي (اتجاه المخطط). خاصية ReverseOrder اختيارية.
Maximum *float64 0 يحدد أن الحد الأقصى الثابت ، 0 هو تلقائي. الخاصية القصوى اختيارية.
Minimum *float64 0 يحدد أن الحد الأدنى الثابت ، 0 هو تلقائي. الحد الأدنى من الممتلكات اختياري. القيمة الافتراضية هي تلقائي.
Alignment Alignment N/A يحدد محاذاة المحور الأفقي والرأسي. خصائص الخط التي يمكن ضبطها هي: TextRotation و Vertical
Font Font غير متاح يحدد أن خط المحور الرأسي.
LogBase float64 غير متاح يحدد الرقم الأساسي للمقياس اللوغاريتمي للمحور العمودي.
NumFmt ChartNumFmt غير متاح يحدد أنه في حالة الارتباط بالمصدر وتعيين رمز تنسيق رقم مخصص للمحور.
Title []RichTextRun غير متاح يحدد أن عنوان المحور الرأسي الأساسي وتغيير حجم المخطط.

قيمة TextRotation التي يمكن ضبطها من -90 إلى 90.

القيمة التي يمكن تعيينها لـ Vertical هي: horz، vert، vert270، wordArtVert، eaVert، mongolianVert و wordArtVertRtl.

عيِّن حجم الرسم البياني حسب خاصية Dimension. خاصية البعد اختيارية. الخصائص التي يمكن تعيينها هي:

معامل اكتب إفتراضي تفسير
Height uint 260 ارتفاع
Width uint 480 عرض

تحدد المعلمة combo إنشاء مخطط يجمع بين نوعين أو أكثر من أنواع المخططات في مخطط واحد. على سبيل المثال ، أنشئ مخططًا خطيًا متفاوت المسافات يحتوي على البيانات Sheet1!$E$1:$L$15:

package main

import (
    "fmt"

    "github.com/xuri/excelize/v2"
)

func main() {
    f := excelize.NewFile()
    defer func() {
        if err := f.Close(); err != nil {
            fmt.Println(err)
        }
    }()
    if err := f.SetSheetName("Sheet1", "ورقة1"); err != nil {
        fmt.Println(err)
        return
    }
    for idx, row := range [][]interface{}{
        {nil, "تفاح", "برتقال", "كمثرى"},
        {"صغير", 2, 3, 3},
        {"عادي", 5, 2, 4},
        {"كبير", 6, 7, 8},
    } {
        cell, err := excelize.CoordinatesToCellName(1, idx+1)
        if err != nil {
            fmt.Println(err)
            return
        }
        if err := f.SetSheetRow("ورقة1", cell, &row); err != nil {
            fmt.Println(err)
            return
        }
    }
    enable, disable := true, false
    if err := f.SetSheetView("ورقة1", -1, &excelize.ViewOptions{
        RightToLeft: &enable,
    }); err != nil {
        fmt.Println(err)
    }
    if err := f.AddChart("ورقة1", "E1", &excelize.Chart{
        Type: excelize.Col,
        Series: []excelize.ChartSeries{
            {
                Name:       "ورقة1!$A$2",
                Categories: "ورقة1!$B$1:$D$1",
                Values:     "ورقة1!$B$2:$D$2",
            },
        },
        Format: excelize.GraphicOptions{
            ScaleX:          1,
            ScaleY:          1,
            OffsetX:         15,
            OffsetY:         10,
            PrintObject:     &enable,
            LockAspectRatio: false,
            Locked:          &disable,
        },
        Title: excelize.ChartTitle{
            Paragraph: []excelize.RichTextRun{
                {
                    Text: "عمود متفاوت المسافات - تخطيط خطي",
                },
            },
        },
        Legend: excelize.ChartLegend{
            Position: "left",
        },
        PlotArea: excelize.ChartPlotArea{
            ShowCatName:     false,
            ShowLeaderLines: false,
            ShowPercent:     true,
            ShowSerName:     true,
            ShowVal:         true,
        },
    }, &excelize.Chart{
        Type: excelize.Line,
        Series: []excelize.ChartSeries{
            {
                Name:       "ورقة1!$A$4",
                Categories: "ورقة1!$B$1:$D$1",
                Values:     "ورقة1!$B$4:$D$4",
                Marker: excelize.ChartMarker{
                    Symbol: "none", Size: 10,
                },
            },
        },
        Format: excelize.GraphicOptions{
            ScaleX:          1,
            ScaleY:          1,
            OffsetX:         15,
            OffsetY:         10,
            PrintObject:     &enable,
            LockAspectRatio: false,
            Locked:          &disable,
        },
        Legend: excelize.ChartLegend{
            Position: "right",
        },
        PlotArea: excelize.ChartPlotArea{
            ShowCatName:     false,
            ShowLeaderLines: false,
            ShowPercent:     true,
            ShowSerName:     true,
            ShowVal:         true,
        },
    }); err != nil {
        fmt.Println(err)
        return
    }
    // احفظ جدول البيانات بالمسار المحدد.
    if err := f.SaveAs("المصنف1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

أضف ورقة عمل المخطط

func (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error

توفر AddChartSheet طريقة لإنشاء ورقة مخطط من خلال مجموعة تنسيق مخطط معينة (مثل الإزاحة والمقياس وإعداد نسبة العرض إلى الارتفاع وإعدادات الطباعة) ومجموعة الخصائص. في Excel ، ورقة المخطط هي ورقة عمل تحتوي فقط على مخطط.

حذف مخطط

func (f *File) DeleteChart(sheet, cell string) error

يوفر DeleteChart وظيفة لحذف المخططات في جدول بيانات عن طريق اسم الخلية وورقة العمل المحددة.

results matching ""

    No results matching ""