تخصيص محاور المخطط في العروض التقديمية على Android
الحصول على القيم القصوى على المحور الرأسي في المخططات
تتيح لك Aspose.Slides لنظام Android عبر Java الحصول على القيم الدنيا والعليا على المحور الرأسي. اتبع هذه الخطوات:
- إنشاء مثال من الفئة Presentation class.
- الوصول إلى الشريحة الأولى.
- إضافة مخطط ببيانات افتراضية.
- الحصول على القيمة القصوى الفعلية للمحور.
- الحصول على القيمة الدنيا الفعلية للمحور.
- الحصول على الوحدة الرئيسية الفعلية للمحور.
- الحصول على الوحدة الفرعية الفعلية للمحور.
- الحصول على مقياس الوحدة الرئيسية الفعلية للمحور.
- الحصول على مقياس الوحدة الفرعية الفعلية للمحور.
Presentation pres = new Presentation();
try {
Chart chart = (Chart)pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Area, 100, 100, 500, 350);
chart.validateChartLayout();
double maxValue = chart.getAxes().getVerticalAxis().getActualMaxValue();
double minValue = chart.getAxes().getVerticalAxis().getActualMinValue();
double majorUnit = chart.getAxes().getHorizontalAxis().getActualMajorUnit();
double minorUnit = chart.getAxes().getHorizontalAxis().getActualMinorUnit();
// يحفظ العرض التقديمي
pres.save("MaxValuesVerticalAxis_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
تبديل البيانات بين المحاور
تتيح لك Aspose.Slides تبديل البيانات بين المحاور بسرعة — حيث ينتقل البيانات الممثلة على المحور الرأسي (y-axis) إلى المحور الأفقي (x-axis) والعكس.
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 400, 300);
//يبدل الصفوف والأعمدة
chart.getChartData().switchRowColumn();
// يحفظ العرض التقديمي
pres.save("SwitchChartRowColumns_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
إلغاء تفعيل المحور الرأسي للمخططات الخطية
يعرض لك هذا الكود Java كيفية إخفاء المحور الرأسي لمخطط خطي:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Line, 100, 100, 400, 300);
chart.getAxes().getVerticalAxis().setVisible(false);
pres.save("chart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
إلغاء تفعيل المحور الأفقي للمخططات الخطية
يعرض لك هذا الكود كيفية إخفاء المحور الأفقي لمخطط خطي:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Line, 100, 100, 400, 300);
chart.getAxes().getHorizontalAxis().setVisible(false);
pres.save("chart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
تغيير محور الفئة
باستخدام الخاصية CategoryAxisType، يمكنك تحديد نوع محور الفئة المفضل لديك (date أو text). يوضح هذا الكود في Java العملية:
Presentation presentation = new Presentation("ExistingChart.pptx");
try {
IChart chart = (IChart)presentation.getSlides().get_Item(0).getShapes().get_Item(0);
chart.getAxes().getHorizontalAxis().setCategoryAxisType(CategoryAxisType.Date);
chart.getAxes().getHorizontalAxis().setAutomaticMajorUnit(false);
chart.getAxes().getHorizontalAxis().setMajorUnit(1);
chart.getAxes().getHorizontalAxis().setMajorUnitScale(TimeUnitType.Months);
presentation.save("ChangeChartCategoryAxis_out.pptx", SaveFormat.Pptx);
} finally {
if (presentation != null) presentation.dispose();
}
تعيين تنسيق التاريخ لقيم محور الفئة
تتيح لك Aspose.Slides لنظام Android عبر Java تعيين تنسيق التاريخ لقيمة محور الفئة. تم توضيح العملية في هذا الكود Java:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Area, 50, 50, 450, 300);
IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().add(wb.getCell(0, "A2", convertToOADate(new GregorianCalendar(2015, 1, 1))));
chart.getChartData().getCategories().add(wb.getCell(0, "A3", convertToOADate(new GregorianCalendar(2016, 1, 1))));
chart.getChartData().getCategories().add(wb.getCell(0, "A4", convertToOADate(new GregorianCalendar(2017, 1, 1))));
chart.getChartData().getCategories().add(wb.getCell(0, "A5", convertToOADate(new GregorianCalendar(2018, 1, 1))));
IChartSeries series = chart.getChartData().getSeries().add(ChartType.Line);
series.getDataPoints().addDataPointForLineSeries(wb.getCell(0, "B2", 1));
series.getDataPoints().addDataPointForLineSeries(wb.getCell(0, "B3", 2));
series.getDataPoints().addDataPointForLineSeries(wb.getCell(0, "B4", 3));
series.getDataPoints().addDataPointForLineSeries(wb.getCell(0, "B5", 4));
chart.getAxes().getHorizontalAxis().setCategoryAxisType(CategoryAxisType.Date);
chart.getAxes().getHorizontalAxis().setNumberFormatLinkedToSource(false);
chart.getAxes().getHorizontalAxis().setNumberFormat("yyyy");
pres.save("output.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
public static String convertToOADate(GregorianCalendar date) throws ParseException
{
double oaDate;
SimpleDateFormat myFormat = new SimpleDateFormat("dd MM yyyy");
java.util.Date baseDate = myFormat.parse("30 12 1899");
Long days = TimeUnit.DAYS.convert(date.getTimeInMillis() - baseDate.getTime(), TimeUnit.MILLISECONDS);
oaDate = (double) days + ((double) date.get(Calendar.HOUR_OF_DAY) / 24) + ((double) date.get(Calendar.MINUTE) / (60 * 24)) + ((double) date.get(Calendar.SECOND) / (60 * 24 * 60));
return String.valueOf(oaDate);
}
تعيين زاوية دوران لعنوان محور المخطط
تتيح لك Aspose.Slides لنظام Android عبر Java تعيين زاوية الدوران لعنوان محور المخطط. يوضح هذا الكود Java العملية:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 450, 300);
chart.getAxes().getVerticalAxis().setTitle(true);
chart.getAxes().getVerticalAxis().getTitle().getTextFormat().getTextBlockFormat().setRotationAngle(90);
pres.save("output.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
تعيين موقع المحور على محور الفئة أو القيمة
تتيح لك Aspose.Slides لنظام Android عبر Java تعيين موضع المحور في محور الفئة أو القيمة. يوضح هذا الكود Java كيفية تنفيذ المهمة:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 450, 300);
chart.getAxes().getHorizontalAxis().setAxisBetweenCategories(true);
pres.save("output.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
تمكين عرض تسمية الوحدة على محور قيمة المخطط
تتيح لك Aspose.Slides لنظام Android عبر Java تكوين مخطط لإظهار تسمية وحدة على محور قيمة المخطط. يوضح هذا الكود Java العملية:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 450, 300);
chart.getAxes().getVerticalAxis().setDisplayUnit(DisplayUnitType.Millions);
pres.save("output.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
الأسئلة المتكررة
كيف يمكنني تعيين القيمة التي يتقاطع عندها محور واحد مع الآخر (تقاطع المحاور)؟
توفر المحاور إعداد التقاطع: يمكنك الاختيار للتقاطع عند الصفر، أو عند أقصى فئة/قيمة، أو عند قيمة رقمية محددة. هذا مفيد لتحريك محور X لأعلى أو لأسفل أو لتسليط الضوء على خط أساسي.
كيف يمكنني وضع تسميات العلامات بالنسبة للمحور (جنبًا، خارجه، داخله)؟
قم بتعيين موقع التسمية إلى “cross” أو “outside” أو “inside”. يؤثر ذلك على قابلية القراءة ويساعد في توفير المساحة، خاصةً في المخططات الصغيرة.