I am having an error message in my SSRS Drill Down-Chart report:
«Axis object — Auto interval error due to invalid point values or axis minimum/maximum«
It displays only for the certain values in my report, but not for all of them.
Many others work just fine.
Can’t figure out this problem. I’d be appreciate if someone can advice.
Thanks.
asked Feb 28, 2018 at 23:07
Searching on Internet showed me that I and many others had had the same problem!
For me, when one of the X axis values was zero, it returned the Error you mentioned .
I am wondering whether it would be a comprehensive solution, but this worked fine for me.
Just after I added a ChartAreas
, I set The miniumum
values as follows.
chart.ChartAreas.Add(chartArea);
chart.ChartAreas[0].AxisX.Minimum = 0;
chart.ChartAreas[0].AxisX2.Minimum = 0;
chart.ChartAreas[0].AxisY.Minimum = 0;
chart.ChartAreas[0].AxisY2.Minimum = 0;
You can do it for Maximum
values, too.
answered Jul 19, 2018 at 6:38
Rezaeimh7Rezaeimh7
1,4572 gold badges23 silver badges40 bronze badges
alekartem 0 / 0 / 0 Регистрация: 12.04.2015 Сообщений: 4 |
||||
1 |
||||
Неверно рисуются графики19.02.2017, 02:42. Показов 5050. Ответов 7 Метки нет (Все метки)
Здравствуйте! Помогите, пожалуйста, разобраться, что я делаю не так. По заданию лабараторной у меня должно быть три кнопки, по нажатию на которые будут строиться три разные графика функции. И все как бы вышло, но только при повторном нажатии график меняется, и при нажатиях на другие кнопки появляются графики, но не такие, как должны быть. Подскажите в чем беда, пожалуйста. Заранее благодарен
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
19.02.2017, 02:42 |
7 |
3434 / 2813 / 1249 Регистрация: 29.01.2016 Сообщений: 9,426 |
|
19.02.2017, 02:45 |
2 |
0 |
8927 / 4839 / 1885 Регистрация: 11.02.2013 Сообщений: 10,246 |
|
19.02.2017, 20:49 |
3 |
повторном нажатии график меняется Потому что
при нажатиях на другие кнопки появляются графики, но не такие, как должны быть Возможно в формулах. Возможно в том, что график строится на отрезке [0, 1]
1 |
alekartem 0 / 0 / 0 Регистрация: 12.04.2015 Сообщений: 4 |
||||
20.02.2017, 07:35 [ТС] |
4 |
|||
На самом деле, обнулил x и y и все заработало, но появилась новая проблема. С функциями 1 и 3 все хорошо, но при обработке 2 появляется ошибка: «Необработанное исключение типа «System.InvalidOperationException» в System.Windows.Forms.DataVisualization.dll Дополнительные сведения: Объект Axis — ошибка автоматической настройки интервалов из-за недопустимого значения в точке либо минимального или максимального значения оси.» новый код выглядит так:
0 |
8927 / 4839 / 1885 Регистрация: 11.02.2013 Сообщений: 10,246 |
|
20.02.2017, 07:49 |
5 |
Нужно смотреть область определения функции, чтобы при вычислениях там не получалось
1 |
0 / 0 / 0 Регистрация: 12.04.2015 Сообщений: 4 |
|
21.02.2017, 04:27 [ТС] |
6 |
Внизу стоит косинус, так что при значениях 90 и 270 градусов в знаменателе будет 0. Но как можно построить график так, чтобы эти значения исключались? Сравнивать с double.NaN? Типа если y = NaN ничего не считать и сразу x = x+0.001, а если не равен, то все своим чередом? Или есть какой-то более простой способ исключить два конкретных значения x?
0 |
8927 / 4839 / 1885 Регистрация: 11.02.2013 Сообщений: 10,246 |
|
21.02.2017, 09:55 |
7 |
Аргументы в тригонометрические функции передаются в радианах. X у тебя меняется от 0 до 1, т.е. знаменатель в ноль не должен обращаться. Выведи значения аргумента и функций, чтобы увидеть, при каком значении аргумента функция становится double.NaN
1 |
0 / 0 / 0 Регистрация: 12.04.2015 Сообщений: 4 |
|
22.02.2017, 08:23 [ТС] |
8 |
Все, разобрался. Проблема была в котангенс, тангенс 0 равен 0, когда первое значение x поставил не 0, а 0,001 все заработало. Спасибо большое за вашу помощь!
0 |
Поиск в Интернете показал мне, что у меня и многих других была такая же проблема!
Для меня, когда одно из значений оси X было равно нулю, оно вернуло упомянутую вами ошибку.
Мне интересно, будет ли это всеобъемлющее решение, но у меня это сработало.
Сразу после того, как я добавил ChartAreas
Я установил miniumum
Значения следующим образом.
chart.ChartAreas.Add(chartArea);
chart.ChartAreas[0].AxisX.Minimum = 0;
chart.ChartAreas[0].AxisX2.Minimum = 0;
chart.ChartAreas[0].AxisY.Minimum = 0;
chart.ChartAreas[0].AxisY2.Minimum = 0;
Вы можете сделать это для Maximum
ценности тоже.
|
|
|
Горизонтальная линия в chart
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
Senior Member Рейтинг (т): 10 |
Добавляю точки, все нормально, нужно прочертить линию уровня
Graphics g = chart.CreateGraphics(); g.DrawLine(… Она моргает, как сделать чтоб на фоне постоянно была? |
ter_nk_ |
|
Senior Member Рейтинг (т): 10 |
С этим все ясно, вот еще вопрос. Машстабирование поначалу происходит, когда получаешь значение большее шкала по значениям увеличивается, но когда значений больше какого-то уровня удаляю первый элемент, вот значения добавляются, но если поступает большое значение, которого не было увеличения шкалы не происходит AlimentOrientation AlignmentStyle поставлены в all. |
DIS |
|
Senior Member
Рейтинг (т): 28 |
Абракадабра какая-то. Если хотите чтоб помогли решить проблему, опишите подробнее, и с примером кода. |
ter_nk_ |
|
Senior Member Рейтинг (т): 10 |
Стоит автоматическая настройка и при изменении по вертикали значений Необработанное исключение типа «System.InvalidOperationException» в System.Windows.Forms.DataVisualization.dll Дополнительные сведения: Объект Axis — ошибка автоматической настройки интервалов из-за недопустимого значения в точке либо минимального или максимального значения оси. |
ter_nk_ |
|
Senior Member Рейтинг (т): 10 |
Неужели никто не сталкивался? |
DIS |
|
Senior Member
Рейтинг (т): 28 |
у меня вот тоже проект есть, и в нем постоянно выбрасывает NullPointer Exception. Кто нибудь сталкивался? |
ter_nk_ |
|
Senior Member Рейтинг (т): 10 |
Неужели никто не сталкивался. Брать picturebox и все вручную рисовать. |
foreach |
|
Junior |
Цитата ter_nk_ @ 12.03.15, 11:28 Она моргает, как сделать чтоб на фоне постоянно была?
Моргает в смысле не успевает отрисовываться? |
ter_nk_ |
|
Senior Member Рейтинг (т): 10 |
С чартом был странный глюк, как-то случайно я его удалил, поставил заново, поставил настройки в которых уже копался перекопался и заработало. |
foreach |
|
Junior |
Т.е. сейчас типа все работает? Добавлено 12.04.15, 04:15 |
ter_nk_ |
|
Senior Member Рейтинг (т): 10 |
Да вроде все. Будем делать тесты посмотрим. Я на всякий случай и так отрисовал, на PictureBox. |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- .NET: Общие вопросы
- Следующая тема
[ Script execution time: 0,0460 ] [ 16 queries used ] [ Generated: 13.06.23, 06:55 GMT ]
<!— /* Font Definitions */ @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-520092929 1073786111 9 0 415 0;} /* Style Definitions */ p.MsoNormal,
li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:»»; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:11.0pt; font-family:»Calibri»,»sans-serif»; mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-size:10.0pt; mso-ansi-font-size:10.0pt; mso-bidi-font-size:10.0pt;} @page WordSection1 {size:612.0pt 792.0pt; margin:72.0pt 72.0pt 72.0pt 72.0pt; mso-header-margin:36.0pt;
mso-footer-margin:36.0pt; mso-paper-source:0;} div.WordSection1 {page:WordSection1;} —>
Hi,
I regulary encounter the exception below. Often in the designer, or intermittantly at runtime on form load or when reseting a chart (i.e. clearing all the series of points). It appears to be related to Axis Scale Breaks and seems to be a race condition
since it comes and goes with minor often unrelated changes (ie. recompiling in Debug rather than Release builds). What I’ve observed is it’s usually caused when series are added to a chart and the Axis scale break is enabled in the form constructor (i.e adding
series and setting scale break on in Form_OnLoad() seems to «fix» the exception). Sometimes it’s also thrown after I call Clear on all series, hence my suspicion that there’s an unhandled edge case when scale break is on and the chart is empty.
Any suggestions on how to avoid as this totally kills my app.
Dave
System.InvalidOperationException: Axis object – Auto interval error due to invalid point values or axis minimum/maximum.
at System.Windows.Forms.DataVisualization.Charting.Axis.CalcInterval(Double diff)
at System.Windows.Forms.DataVisualization.Charting.Axis.EstimateNumberAxis(Double& minimumValue, Double& maximumValue, Boolean shouldStartFromZero, Int32 preferredNumberOfIntervals, Boolean autoMaximum, Boolean autoMinimum)
at System.Windows.Forms.DataVisualization.Charting.AxisScaleBreakStyle.FillAxisSegmentCollection(AxisScaleSegmentCollection axisSegments)
at System.Windows.Forms.DataVisualization.Charting.AxisScaleBreakStyle.GetAxisSegmentForScaleBreaks(AxisScaleSegmentCollection axisSegments)
at System.Windows.Forms.DataVisualization.Charting.ChartArea.SetDefaultAxesValues()
at System.Windows.Forms.DataVisualization.Charting.ChartArea.SetData(Boolean initializeAxes, Boolean checkIndexedAligned)
at System.Windows.Forms.DataVisualization.Charting.ChartArea.SetData()
at System.Windows.Forms.DataVisualization.Charting.ChartArea.ReCalcInternal()
at System.Windows.Forms.DataVisualization.Charting.ChartPicture.Paint(Graphics graph, Boolean paintTopLevelElementOnly)
at System.Windows.Forms.DataVisualization.Charting.ChartPicture.PaintOffScreen()
at System.Windows.Forms.DataVisualization.Charting.Selection.HitTest(Int32 x, Int32 y, Boolean ignoreTransparent, ChartElementType[] requestedElementTypes)
at System.Windows.Forms.DataVisualization.Charting.Selection.HitTest(Int32 x, Int32 y, Boolean ignoreTransparent)
at System.Windows.Forms.DataVisualization.Charting.Selection.EvaluateToolTip(MouseEventArgs e)
at System.Windows.Forms.DataVisualization.Charting.Selection.Selection_MouseMove(Object sender, MouseEventArgs e)
at System.Windows.Forms.DataVisualization.Charting.Chart.OnChartMouseMove(MouseEventArgs e)
at System.Windows.Forms.DataVisualization.Charting.Chart.OnMouseMove(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseMove(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Program.Main() in Program.cs:line 23