Значение гистограммы Aspose VB.NET

Я настраиваю гистограмму, которая в конечном итоге будет экспортирована в слайд PowerPoint. У меня все отлично экспортируется, но было запрошено, чтобы в верхней части каждого столбца значение этого столбца помещалось прямо над ним. Я посмотрел вверх и вниз и, к сожалению, не смог узнать, как это сделать.


person Gil    schedule 28.05.2014    source источник


Ответы (1)


Я работаю разработчиком социальных сетей в Aspose. Проверьте следующий пример кода, чтобы установить пользовательские метки в качестве значений и задать положение метки.

'Instantiate Presentation class that represents PPTX file
Dim pres As New Presentation()

'Access first slide
Dim sld As ISlide = pres.Slides(0)

' Add chart with default data
Dim chart As IChart = sld.Shapes.AddChart(ChartType.ClusteredBar, 0, 0, 500, 500)

'Setting chart Title
'chart.ChartTitle.TextFrameForOverriding.Text = "Sample Title";
chart.ChartTitle.AddTextFrameForOverriding("Sample Title")
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True
chart.ChartTitle.Height = 20
chart.HasTitle = True

'Set first series to Show Values
chart.ChartData.Series(0).Labels.DefaultDataLabelFormat.ShowValue = True

'Setting the index of chart data sheet
Dim defaultWorksheetIndex As Integer = 0

'Getting the chart data worksheet
Dim fact As IChartDataWorkbook = chart.ChartData.ChartDataWorkbook

'Delete default generated series and categories
chart.ChartData.Series.Clear()
chart.ChartData.Categories.Clear()
Dim s As Integer = chart.ChartData.Series.Count
s = chart.ChartData.Categories.Count

'Adding new series
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.Type)
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.Type)

'Adding new categories
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"))
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"))
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"))

'Take first chart series
Dim series As IChartSeries = chart.ChartData.Series(0)

'Now populating series data

series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20))
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50))
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30))

'Setting fill color for series
series.Format.Fill.FillType = FillType.Solid
series.Format.Fill.SolidFillColor.Color = System.Drawing.Color.Red

'Set Data Labels for first series
For Each point As IChartDataPoint In series.DataPoints
    Dim lbl As IDataLabel = point.Label
    lbl.DataLabelFormat.ShowValue = True
    lbl.DataLabelFormat.Position = LegendDataLabelPosition.OutsideEnd
Next point

'Take second chart series
series = chart.ChartData.Series(1)

'Now populating series data
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 2, 30))
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 2, 10))
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 2, 60))

'Setting fill color for series
series.Format.Fill.FillType = FillType.Solid
series.Format.Fill.SolidFillColor.Color = System.Drawing.Color.Green

'Set Data Labels for first series
For Each point As IChartDataPoint In series.DataPoints
    Dim lbl As IDataLabel = point.Label
    lbl.DataLabelFormat.ShowValue = True
    lbl.DataLabelFormat.Position = LegendDataLabelPosition.OutsideEnd
Next point

'Save presentation with chart
pres.Save("c:\data\AsposeChart.pptx", Aspose.Slides.Export.SaveFormat.Pptx)

Ниже приведен пример из приведенного выше кода, чтобы дать представление о том, как настроить метки.

   'Set Data Labels for first series
    For Each point As IChartDataPoint In series.DataPoints
        Dim lbl As IDataLabel = point.Label
        lbl.DataLabelFormat.ShowValue = True
        lbl.DataLabelFormat.Position = LegendDataLabelPosition.OutsideEnd
    Next point
person Nausherwan Aslam    schedule 28.05.2014
comment
Большое спасибо! Это очень помогло. У меня есть вопрос вдогонку. Я просмотрел веб-сайт Aspose и не смог найти конкретной информации о циклическом просмотре набора данных и создании из него таблицы на основе имен столбцов и определенных строк. У вас случайно нет примера кода, подобного тому, который вы разместили в ответе выше? - person Gil; 29.05.2014
comment
Не могли бы вы уточнить свое требование на примере. Я буду рад помочь вам. - person Nausherwan Aslam; 29.05.2014