Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Visual Basic Новый топик    Ответить
 Максимальное число точек в графиках Excel.  [new]
YUBA
Member

Откуда:
Сообщений: 788
Через VBA строится график в Excel.
Делаем следующее.
' Определяем массивы данных и подписей оси Х и их размерность.
Dim Y() as Double
Dim X() as DateTime
Dim N as Long
'Определяем N
N= 1000
Redim Y(N)
Redim X(N)
'Заполняем массивы X и Y данными
'.............
//Строим график по Y
Sheets("DispGraph").ChartObjects("Dgr1").Activate
ActiveChart.SeriesCollection(1).XValues = Y
//Строим график по X
ActiveChart.SeriesCollection(1).XValues = Х

Проблема в следующем. График отображает только первые 255-256 точек. Нужно хотя бы до 1000-1500 точек.
При заполнении графика без VBA с листа Excel и 2000 точек не предел.
Что делать и как быть, чтобы расширить кол-во отображаемых точек?
Где посмотреть ограничения по графикам в Excel? ничего не нашел. :(

"Есть многое на свете, друг Горацио, что и не сразу в голову придет."
М. Твен "Приключения Геккельбери Финна"
27 сен 12, 17:14    [13234193]     Ответить | Цитировать Сообщить модератору
 Re: Максимальное число точек в графиках Excel.  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20644
YUBA
Проблема в следующем. График отображает только первые 255-256 точек. Нужно хотя бы до 1000-1500 точек.

Поясните.
Остальные точки отсутствуют (не отрисовываются), или находятся за пределами границ (неверно масштабируются), и потому не видны?
А если слить их из Series.XValue в массив - сливаются все 1000, или только первые 256? А если обращаться непосредственно к Series.XValue - сколько там элементов?
27 сен 12, 17:25    [13234282]     Ответить | Цитировать Сообщить модератору
 Re: Максимальное число точек в графиках Excel.  [new]
YUBA
Member

Откуда:
Сообщений: 788
Ошибся для построения Y. Cледует читать.
ActiveChart.SeriesCollection(1).Values = Y
27 сен 12, 17:26    [13234296]     Ответить | Цитировать Сообщить модератору
 Re: Максимальное число точек в графиках Excel.  [new]
YUBA
Member

Откуда:
Сообщений: 788
Akina, график строится только для первых 256 точек. Ось Х - максимум 256 точек до границы графика. У тоже, естественно.
27 сен 12, 17:31    [13234327]     Ответить | Цитировать Сообщить модератору
 Re: Максимальное число точек в графиках Excel.  [new]
YUBA
Member

Откуда:
Сообщений: 788
Непонятно, как определить кол-во элементов в элементе коллекции?
ActiveChart.SeriesCollection(1)
27 сен 12, 17:57    [13234478]     Ответить | Цитировать Сообщить модератору
 Re: Максимальное число точек в графиках Excel.  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20644
Что-нить вроде
Dim X()
Set X = ActiveChart.SeriesCollection(1).XValues 
Debug.Print LBound(X), UBound(X)
27 сен 12, 18:22    [13234659]     Ответить | Цитировать Сообщить модератору
 Re: Максимальное число точек в графиках Excel.  [new]
YUBA
Member

Откуда:
Сообщений: 788
Ubound Y 256
Ubound X 256
Самое интересное, что Ubound пробовал до того примерно в том-же контексте.. Не пошло. :) Сейчас нормально.
Стало быть, теперь задача увеличить диапазон. Интересно, где?
27 сен 12, 18:49    [13234857]     Ответить | Цитировать Сообщить модератору
 Re: Максимальное число точек в графиках Excel.  [new]
YUBA
Member

Откуда:
Сообщений: 788
Нашел на забугорном сайте аналогичную проблему про макс 256 точек. Решение тоже отсутствует.
Видимо, для экономии времени сделаю через лист, и его тупо скрою. Но, вообще, неинтересное решение.
27 сен 12, 21:33    [13235386]     Ответить | Цитировать Сообщить модератору
 Re: Максимальное число точек в графиках Excel.  [new]
basicv
Member

Откуда:
Сообщений: 252
YUBA,

Что за эксел? Что за тип диаграммы?
В 2007 без проблем добавляю до 10000 точек.
27 сен 12, 23:45    [13235823]     Ответить | Цитировать Сообщить модератору
 Re: Максимальное число точек в графиках Excel.  [new]
YUBA
Member

Откуда:
Сообщений: 788
basicv, обычный график.
Office 2007. Сохранение в Excel 1997-2003. Пробовал сохранять в новом формате - по любому не идет. Данные с листа без проблем.
28 сен 12, 00:00    [13235882]     Ответить | Цитировать Сообщить модератору
 Re: Максимальное число точек в графиках Excel.  [new]
basicv
Member

Откуда:
Сообщений: 252
YUBA,

Пробуй, у меня работает в не сохраненной книге

Sub DrawChart()
    
    
    Dim Y() As Double
    Dim X() As Date
    Dim N As Long
    
    N = 10000
    ReDim Y(N)
    ReDim X(N)
    For i = 0 To N
        Y(i) = i
        X(i) = i
    Next i
    
    Set myChtObj = Sheets("Sheet1").ChartObjects.Add _
        (Left:=100, Width:=375, Top:=75, Height:=225)
    myChtObj.Chart.ChartType = xlLine
    
    myChtObj.Chart.SeriesCollection.NewSeries
    myChtObj.Chart.SeriesCollection(1).Values = Y

    myChtObj.Chart.SeriesCollection(1).XValues = X

End Sub
28 сен 12, 00:14    [13235914]     Ответить | Цитировать Сообщить модератору
 Re: Максимальное число точек в графиках Excel.  [new]
YUBA
Member

Откуда:
Сообщений: 788
basicv, тоже самое только первые 256 значений.
Где-то должна быть настройка, по видимому, в реестре.
28 сен 12, 00:33    [13235985]     Ответить | Цитировать Сообщить модератору
 Re: Максимальное число точек в графиках Excel.  [new]
YUBA
Member

Откуда:
Сообщений: 788
basicv, попробовал с новым файлом. Теже самые -256.
28 сен 12, 00:39    [13236006]     Ответить | Цитировать Сообщить модератору
 Re: Максимальное число точек в графиках Excel.  [new]
basicv
Member

Откуда:
Сообщений: 252
YUBA,
попробовал сохранить свой файл в формате 97-2003 и получил ограничение 256 точек. Пересохранение в 2007 формат ограничение несняло. Если потом файл закрыть и открыть заново, ограничение пропадает.
28 сен 12, 02:16    [13236229]     Ответить | Цитировать Сообщить модератору
 Re: Максимальное число точек в графиках Excel.  [new]
YUBA
Member

Откуда:
Сообщений: 788
basicv, Да, в формате .xlsm все работает.
Однако раньше я в формате 97-2003 таких проблем не замечал, хотя графики строил неоднократно. Но, в общем, не исключаю, что, хотя с длинными рядами работаю часто, в подобных (через массивы) графиках 256 точек возможно и не было.
28 сен 12, 18:42    [13240696]     Ответить | Цитировать Сообщить модератору
Все форумы / Visual Basic Ответить