Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

18 Октябрь 2018, 23:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: не могу построить график  (Прочитано 530 раз)
0 Пользователей и 1 Гость смотрят эту тему.
BORIS
Новичок
*
Offline Offline

Пол: Мужской
Расположение: Москва
Сообщений: 4


« Стартовое сообщение: 23 Август 2018, 12:46 »

Добрый день!
не могу построить график прошу помощи!


' в диапазоне "А2:А5"- наименование товара
' в диапазоне "B2:M5" - цена товара
' планирую построить график, по оси У - цена товара, по оси Х -  месяца с январь по декабрь
' не отображается: линейная диаграмма, месяца по оси Х
' вопросы: как исправить код и как добавить значения цены товара в точках на графике

файл прикрепил

Добрый день, поменять местами строки и столбцы мне понятно, необходимо внести изменения в коде, заранее спасибо

* Example.ods (13.25 Кб - загружено 4 раз.)
« Последнее редактирование: 23 Август 2018, 15:20 от BORIS » Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 562


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #1: 23 Август 2018, 14:47 »

Чтобы получить график как вы хотите, нужно в исходных данных поменять местами строки и столбцы. Или делать это в коде?

Хотите получить такой результат? :


* Диаграмма.png (137.87 Кб, 1035x547 - просмотрено 7 раз.)
Записан

Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 314


« Ответ #2: 23 Август 2018, 14:59 »

При "ручном" построении, можно выбрать где данные в столбцах или строках.
Неужели нельзя его программно установить?


* Диаграм1.JPG (23.84 Кб, 401x196 - просмотрено 8 раз.)
Записан
BORIS
Новичок
*
Offline Offline

Пол: Мужской
Расположение: Москва
Сообщений: 4


« Ответ #3: 23 Август 2018, 16:46 »

Добрый день, поменять местами строки и столбцы мне понятно, необходимо внести изменения в коде,
не могу программно выбрать данные в строках
заранее спасибо
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 562


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #4: 23 Август 2018, 19:09 »

Bigor, можно программно установить, так я и спрашиваю у BORIS как будем делать?

Диаграмма — сложный объект, при создании очень много параметров устанавливаются по умолчанию в расчёте, что пользователь будет формировать исходные данные "как надо" (даты-время в заголовках строк, а категории в заголовках столбцов), но если нужно иначе, то прийдётся изменить параметр по умолчанию ("данные в столбцах") на "данные в строках".
Код:
Sub Example
Dim oSheet, oCharts, oChart, cTitle$
Dim oRect As New com.sun.star.awt.Rectangle
Dim oRangeAddress(0) As New com.sun.star.table.CellRangeAddress

Doc = ThisComponent
oSheet = Doc.Sheets(0)
oCharts = oSheet.Charts
cTitle = "график"
'Диапазон данных
oRangeAddress(0).Sheet = 0
oRangeAddress(0).StartColumn = 0
oRangeAddress(0).EndColumn = 12
oRangeAddress(0).StartRow = 0
oRangeAddress(0).EndRow = 4

oCharts.addNewByName(cTitle, oRect, oRangeAddress(), TRUE, TRUE)
oChart = oCharts.getByName(cTitle).embeddedObject
oChart.Diagram = oChart.createInstance("com.sun.star.chart.LineDiagram")
oChart.Diagram.DataRowSource=com.sun.star.chart.ChartDataRowSource.ROWS  'устанавливает данные в строках
oChart.HasMainTitle = True
oChart.Title.String = cTitle
End Sub
Записан

BORIS
Новичок
*
Offline Offline

Пол: Мужской
Расположение: Москва
Сообщений: 4


« Ответ #5: 24 Август 2018, 08:51 »

Доброе день,

rami, большое спасибо за помощь, все сразу пошло прекрасно!

oChart.Diagram.DataRowSource=com.sun.star.chart.ChartDataRowSource.ROWS  - просто волшебная строка...
Записан
BORIS
Новичок
*
Offline Offline

Пол: Мужской
Расположение: Москва
Сообщений: 4


« Ответ #6: 29 Август 2018, 16:12 »

' устанавливаем значения в точках на графике

Props = oChart.Diagram.getDataRowProperties(0)
Props.DataCaption = com.sun.star.chart.ChartDataCaption.VALUE
Dim oLocale As New com.sun.star.lang.Locale
Props.PercentageNumberFormat = ThisComponent.getNumberFormats().queryKey("##,##0.00", oLocale, True)
« Последнее редактирование: 29 Август 2018, 16:14 от BORIS » Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!