עבודה עם תרשימים
עבודה עם תרשימים
Aspose.Words FOSS עבור .NET יכול להכניס תרשימי Word מקוריים — אותם תרשימי DrawingML ש-Word יוצר בעצמו — כצורה בשכבת הציור. DocumentBuilder.InsertChart יוצר את הצורה ומחזיר אותה; המאפיין Chart של הצורה חושף סדרות, צירים, מקרא ועיצוב. מדריך זה מכסה יצירת תרשים, בחירת סוג תרשים, עבודה עם סדרות ונקודות נתונים, צירים וקווי רשת, ועיצוב רכיבי התרשים.
יצירת תרשים
קרא ל-DocumentBuilder.InsertChart(chartType, width, height) כדי להכניס צורת תרשים במיקום הסמן ולקבל בחזרה את ה-Shape המכיל. המאפיין Chart שלו הוא האובייקט Chart שאתה מגדיר. תרשים שהוכנס זה עתה מגיע עם סדרות מציין מיקום לדוגמה, לכן נקה את Chart.Series לפני הוספת נתונים אמיתיים עם ChartSeriesCollection.Add(seriesName, categories, values):
using Aspose.Words;
using Aspose.Words.Drawing.Charts;
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;
// Delete default generated series.
chart.Series.Clear();
string[] categories = new string[] { "AW Category 1", "AW Category 2", "AW Category 3" };
chart.Series.Add("AW Series 1", categories, new double[] { 4.3, 2.5, 3.5 });
doc.Save("chart.docx");דוגמה זו בונה Document, משתמשת ב-DocumentBuilder.InsertChart(ChartType.Line, 432, 252) כדי להכניס צורת תרשים קו, קוראת ל-shape.Chart כדי לקבל את האובייקט Chart, קוראת ל-chart.Series.Clear() כדי להסיר את סדרת המציין מיקום, מוסיפה סדרה אמיתית אחת עם chart.Series.Add(seriesName, categories, values), וכותבת את התוצאה עם Document.Save.
סוגי תרשימים
ChartType מכסה את משפחות התרשימים הסטנדרטיות של Word — Line, Bar, Column (כולל הווריאנטים Stacked, PercentStacked, ו-3D), Pie, PieOfPie, Doughnut, Area, Scatter, Bubble, Radar, Stock, Surface, והסוגי תרשימים החדשים של Word 2016 Treemap, Sunburst, Histogram, Pareto, BoxAndWhisker, ו-Waterfall. העבר את הערך הרצוי כארגומנט chartType ל-InsertChart; אין אפשרות לשנות את סוג התרשים הקיים לאחר ההוספה אלא על ידי החלפת הצורה.
סדרות ונקודות נתונים
Chart.Series הוא ChartSeriesCollection של עצמים ChartSeries. מעבר להעמסה Add(seriesName, categories, values) שהשתמשו בה למעלה, ל-ChartSeriesCollection יש גם העמסות עבור זוגות ערכי X/Y, תאריכים, וגדלי בועות, וכן Insert, Remove(index), ו-Clear(). כל ChartSeries חושף DataPoints (ChartDataPointCollection) לעיצוב לכל נקודה — Format, Marker, Explosion, ו-InvertIfNegative — ו-HasDataLabels / DataLabels להפעיל ולהגדיר ChartDataLabelCollection (ShowValue, ShowCategoryName, ShowPercentage, Position).
צירים וקווי רשת
Chart.AxisX, AxisY, ו-AxisZ הם עצמים ChartAxis (עם Chart.Axes בתור ChartAxisCollection לעבור על כולם). לכל ציר יש HasMajorGridlines / HasMinorGridlines, MajorUnit / MinorUnit (עם דגלי *IsAuto תואמים), Crosses / CrossesAt, CategoryType, ו-אובייקט TickLabels (AxisTickLabels) לגופן ולכיוון התוויות. ChartAxis.Title (ChartAxisTitle) מגדיר את טקסט הכיתוב של הציר דרך המאפיינים Text ו-Show.
מקרא, כותרת וטבלת נתונים
Chart.Title (ChartTitle) מגדיר את הכיתוב הכולל של התרשים — Text, Show, ו-Font. Chart.Legend (ChartLegend) שולט האם והיכן המקרא מופיע באמצעות Position (ערך LegendPosition כגון Bottom, Right או Top) ומחשוף LegendEntries פרטיים. Chart.DataTable (ChartDataTable) יכול להציג את ערכי הסדרות הבסיסיים בטבלה מתחת לאזור התרשים, עם Show, HasLegendKeys, והפעלות גבול.
עיצוב רכיבי התרשים
רוב רכיבי התרשים — סדרות, נקודות נתונים, צירים, הכותרת והמקרא — חושפים מאפיין Format מסוג ChartFormat, אשר בתורו חושף את Fill ו-Stroke לצבעי הרכיב, בנוסף ל-ShapeType (ChartShapeType) לצורות סמני נקודות הנתונים. ChartFormat.SetDefaultFill() מאפס רכיב חזרה למראה ברירת המחדל המונע על-ידי ערכת הנושא.
טיפים ושיטות עבודה מומלצות
- תמיד נקה או החלף את סדרת המחליף (
chart.Series.Clear()) לפני הוספת נתונים אמיתיים — גרף שמוכנס זה עתה מגיע עם נתוני דוגמה כבר בתוכו. - השתמש בעומסי
ChartSeriesCollection.Addהתואמים לצורת הנתונים שלך (קטגוריות, זוגות X/Y, תאריכים או גדלי בועות) במקום לכפות את הכול דרך זוגות קטגוריה/ערך. - הגדר
HasDataLabels = trueעל סדרה לפני קביעת אוסף ה-DataLabelsשלה — מאפייני התצוגה של האוסף אינם משפיעים באופן נראה כאשר התוויות מושבתות. - קרא את
Chart.ChartSpaceאו בדוק את ה-ChartTypeהספציפי לפני שאתה מסתמך על התנהגות קווי הרשת או צירי הגרף השונה בין גרפים קלאסיים לגרפים בסגנון Word-2016. - העדף
ChartFormat.SetDefaultFill()על פני ניקוי ידני של כל מאפיין מילוי כאשר ברצונך לאפס את המראה של אלמנט.
בעיות נפוצות
| בעיה | סיבה | פתרון |
|---|---|---|
| תרשים חדש מציג נתוני הדגמה לא צפויים | InsertChart מזין את התרשים בסדרת מצייני מקום | הפעל את chart.Series.Clear() לפני הוספת הסדרות שלך |
| תוויות הנתונים אינן מופיעות | HasDataLabels לא הוגדר על הסדרה לפני קביעת DataLabels | הגדר series.HasDataLabels = true, לאחר מכן הגדר ShowValue/ShowCategoryName על series.DataLabels |
| קווי הרשת אינם מוצגים על ציר הערכים | HasMajorGridlines/HasMinorGridlines בברירת מחדל לfalse עבור ציר זה | הגדר chart.AxisY.HasMajorGridlines = true (וHasMinorGridlines אם נדרש) |
| המקרא אינו מופיע | Chart.Legend.Position מוגדר לLegendPosition.None | הגדר Position לBottom, Right, Top, Left או TopRight |
FAQ
איך אני מוסיף גרף למסמך?
קרא ל-DocumentBuilder.InsertChart(chartType, width, height). הוא מחזיר את ה-Shape המכיל; קרא את המאפיין Chart שלו כדי להגדיר את הגרף.
איך אני מוסיף נתונים לגרף?
נקה את סדרת המצע עם chart.Series.Clear(), ואז קרא ל-chart.Series.Add(seriesName, categories, values) (או לאחת מהגרסאות העודפות של Add עבור נתוני X/Y, תאריך, או בועות).
אילו סוגי גרפים זמינים?
ChartType כולל את המשפחות הקלאסיות (Line, Bar, Column, Pie, Area, Scatter, Bubble, Radar, Stock, Surface, וכן את גרסאות ה-stacked וה-3D שלהם) ואת סוגי הגרפים של Word 2016 (Treemap, Sunburst, Histogram, Pareto, BoxAndWhisker, Waterfall).
איך אני משנה היכן שמופיעה המקרא?
הגדר את Chart.Legend.Position לערך LegendPosition, כגון LegendPosition.Bottom או LegendPosition.Right.
האם אני יכול לעצב נקודת נתונים בודדת באופן שונה משאר הסדרה שלה?
כן — ציין אינדקס ב-ChartSeries.DataPoints (ChartDataPointCollection) והגדר את ה-Format, Marker או Explosion של ה-ChartDataPoint באופן עצמאי מהעיצוב ברמת הסדרה.
API Reference סיכום
| מחלקה/מתודה | תיאור |
|---|---|
DocumentBuilder.InsertChart | מכניס צורת גרף במיקום הסמן ומחזיר אותה. |
Chart | אובייקט תצורת הגרף, נגיש באמצעות Shape.Chart. |
ChartType | Enum של סוגי גרפים זמינים (line, bar, pie, וסוגי גרפים של Word-2016). |
ChartSeriesCollection / ChartSeries | סדרות הנתונים של הגרף והשיטות להוסיף, להכניס או להסיר אותן. |
ChartDataPointCollection / ChartDataPoint | עיצוב לפי נקודה בתוך סדרה. |
ChartDataLabelCollection / ChartDataLabel | תוויות ערך/קטגוריה שמוצגות על נקודות התרשים. |
ChartAxis / ChartAxisCollection | קונפיגורציית הציר — קווי רשת, יחידות, נקודת חצייה, תוויות סימון. |
ChartLegend / LegendPosition | נראות המקרא והמיקום. |
ChartTitle | הכיתוב הכולל של התרשים. |
ChartDataTable | טבלה אופציונלית של ערכי הסדרה המופיעה מתחת לאזור התרשים. |
ChartFormat | עיצוב המילוי, הקו והצורה משותף לרוב רכיבי התרשים. |