Dostosowywanie osi wykresów w prezentacjach w .NET
Przegląd
Ten artykuł wyjaśnia, jak dostosować osie wykresu w Aspose.Slides. Pokazuje, jak pobrać rzeczywiste wartości osi, zamienić dane między osiami, ukryć pionową lub poziomą oś w wykresach liniowych, zmienić typ osi kategorii, ustawić format daty dla wartości osi kategorii, obrócić tytuł osi, ustawić położenie osi oraz wyświetlić etykietę jednostki na osi wartości.
Uzyskanie maksymalnych wartości na osi pionowej w wykresach
Aspose.Slides dla .NET umożliwia pobranie minimalnych i maksymalnych wartości na osi pionowej. Postępuj zgodnie z poniższymi krokami:
- Utwórz instancję klasy Presentation.
- Uzyskaj dostęp do pierwszego slajdu.
- Dodaj wykres z domyślnymi danymi.
- Pobierz rzeczywistą maksymalną wartość na osi.
- Pobierz rzeczywistą minimalną wartość na osi.
- Pobierz rzeczywistą jednostkę główną osi.
- Pobierz rzeczywistą jednostkę poboczną osi.
- Pobierz rzeczywistą skalę jednostki głównej osi.
- Pobierz rzeczywistą skalę jednostki pobocznej osi.
Ten przykładowy kod — implementacja powyższych kroków — pokazuje, jak uzyskać wymagane wartości w C#:
using (Presentation pres = new Presentation())
{
Chart chart = (Chart)pres.Slides[0].Shapes.AddChart(ChartType.Area, 100, 100, 500, 350);
chart.ValidateChartLayout();
double maxValue = chart.Axes.VerticalAxis.ActualMaxValue;
double minValue = chart.Axes.VerticalAxis.ActualMinValue;
double majorUnit = chart.Axes.HorizontalAxis.ActualMajorUnit;
double minorUnit = chart.Axes.HorizontalAxis.ActualMinorUnit;
// Zapisuje prezentację
presentation.Save("ErrorBars_out.pptx", SaveFormat.Pptx);
}
Zamiana danych między osiami
Aspose.Slides umożliwia szybką zamianę danych między osiami — dane wyświetlane na osi pionowej (y‑axis) przechodzą na oś poziomą (x‑axis) i odwrotnie.
Ten kod w C# pokazuje, jak wykonać zamianę danych między osiami wykresu:
// Tworzy pustą prezentację
using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 400, 300);
//Przełącza wiersze i kolumny
// Zapisuje prezentację
pres.Save("SwitchChartRowColumns_out.pptx", SaveFormat.Pptx);
}
Ukrycie osi pionowej w wykresach liniowych
Ten kod w C# pokazuje, jak ukryć oś pionową w wykresie liniowym:
using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Line, 100, 100, 400, 300);
chart.Axes.VerticalAxis.IsVisible = false;
pres.Save("chart.pptx", SaveFormat.Pptx);
}
Ukrycie osi poziomej w wykresach liniowych
Ten kod pokazuje, jak ukryć oś poziomą w wykresie liniowym:
using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Line, 100, 100, 400, 300);
chart.Axes.HorizontalAxis.IsVisible = false;
pres.Save("chart.pptx", SaveFormat.Pptx);
}
Zmiana osi kategorii
Korzystając z właściwości CategoryAxisType, możesz określić preferowany typ osi kategorii (date lub text). Ten kod w C# demonstruje tę operację:
using (Presentation presentation = new Presentation("ExistingChart.pptx"))
{
IChart chart = presentation.Slides[0].Shapes[0] as IChart;
chart.Axes.HorizontalAxis.CategoryAxisType = CategoryAxisType.Date;
chart.Axes.HorizontalAxis.IsAutomaticMajorUnit = false;
chart.Axes.HorizontalAxis.MajorUnit = 1;
chart.Axes.HorizontalAxis.MajorUnitScale = TimeUnitType.Months;
presentation.Save("ChangeChartCategoryAxis_out.pptx", SaveFormat.Pptx);
}
Ustawienie formatu daty dla wartości osi kategorii
Aspose.Slides dla .NET umożliwia ustawienie formatu daty dla wartości osi kategorii. Operacja jest pokazana w poniższym kodzie C#:
using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Area, 50, 50, 450, 300);
IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;
wb.Clear(0);
chart.ChartData.Categories.Clear();
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Add(wb.GetCell(0, "A2", new DateTime(2015, 1, 1).ToOADate()));
chart.ChartData.Categories.Add(wb.GetCell(0, "A3", new DateTime(2016, 1, 1).ToOADate()));
chart.ChartData.Categories.Add(wb.GetCell(0, "A4", new DateTime(2017, 1, 1).ToOADate()));
chart.ChartData.Categories.Add(wb.GetCell(0, "A5", new DateTime(2018, 1, 1).ToOADate()));
IChartSeries series = chart.ChartData.Series.Add(ChartType.Line);
series.DataPoints.AddDataPointForLineSeries(wb.GetCell(0, "B2", 1));
series.DataPoints.AddDataPointForLineSeries(wb.GetCell(0, "B3", 2));
series.DataPoints.AddDataPointForLineSeries(wb.GetCell(0, "B4", 3));
series.DataPoints.AddDataPointForLineSeries(wb.GetCell(0, "B5", 4));
chart.Axes.HorizontalAxis.CategoryAxisType = CategoryAxisType.Date;
chart.Axes.HorizontalAxis.IsNumberFormatLinkedToSource = false;
chart.Axes.HorizontalAxis.NumberFormat = "yyyy";
pres.Save("test.pptx", SaveFormat.Pptx);
}
Ustawienie kąta obrotu tytułu osi wykresu
Aspose.Slides dla .NET pozwala ustawić kąt obrotu tytułu osi wykresu. Ten kod w C# demonstruje tę operację:
using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 450, 300);
chart.Axes.VerticalAxis.HasTitle = true;
chart.Axes.VerticalAxis.Title.TextFormat.TextBlockFormat.RotationAngle = 90;
pres.Save("test.pptx", SaveFormat.Pptx);
}
Ustawienie pozycji osi na osi kategorii lub wartości
Aspose.Slides dla .NET umożliwia ustawienie pozycji osi w osi kategorii lub wartości. Ten kod w C# pokazuje, jak wykonać to zadanie:
using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 450, 300);
chart.Axes.HorizontalAxis.AxisBetweenCategories = true;
pres.Save("AsposeScatterChart.pptx", SaveFormat.Pptx);
}
Włączenie wyświetlania etykiety jednostki na osi wartości wykresu
Aspose.Slides dla .NET pozwala skonfigurować wykres tak, aby wyświetlał etykietę jednostki na osi wartości. Ten kod w C# demonstruje tę operację:
using (Presentation pres = new Presentation(dataDir+"Test.pptx"))
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 450, 300);
chart.Axes.VerticalAxis.DisplayUnit = DisplayUnitType.Millions;
pres.Save("Result.pptx", SaveFormat.Pptx);
}
FAQ
Jak ustawić wartość, w której jedna oś przecina drugą (przecięcie osi)?
Osie oferują ustawienie crossing: możesz wybrać przecięcie w zerze, w maksymalnej kategorii/wartości lub w określonej wartości liczbowej. Jest to przydatne przy przesuwaniu osi X w górę lub w dół lub do podkreślenia linii bazowej.
Jak ustawić położenie etykiet podziałek względem osi (obok, na zewnątrz, wewnątrz)?
Ustaw pozycję etykiety na „cross”, „outside” lub „inside”. Ma to wpływ na czytelność i pomaga oszczędzać miejsce, zwłaszcza w małych wykresach.