Как стать автором
Обновить

Комментарии 36

оформите библиотекой, добавьте фич и на codeplex :-)
Для plex'a это не серьезно =)
Ну, если нормализовать входные значения, добавить датабиндинг и, возможно, отсечку, то уже получится вполне юзабельный компонент.
Ну в реальном проекте он оформлен естественно как компонент. Здесь я разместил первоначальную версию прототипа, NDA понимаешь =). Желающие могут прилепить поверх декоративную маску к примеру.
С Random генератором Вы намудрили ;)
Зачем же его в тело цикла? Он же от таймера инициализируется, потому и давал одно и тоже число вместо случайной последовательности. Вас это озадачило и вы решили вручную инициализировать его по чудесной формуле. Вместо этого, достаточно было вынести его из тела цикла и просто написать:
Random rnd = new Random();
С расчетом тени в конце вообще мусор. Чего-то начали писать и забросили. Что-то не то рассчитывается и на результаты просто забивается. Так что, нечего хабранарод полуделками кормить.
Это не рабочий код, это прототип.
И сложно Вам было перед публикацией удалить неиспользуемый код?
Поправил.
К хвосту было прилепленно:

//LinearGradientBrush brush = new LinearGradientBrush(
// new Point( x, y + height + sideHeight + 100),
// new Point( x, y — (height/2)),
// Color.Black,
// Color.Transparent
// );

//e.Graphics.FillPath(brush, shadowSides1);

Попробуйте так если хотите, я и вправду не заметил лишние строки.
Если понадобятся диаграммы посложнее, можно использовать "Microsoft Chart Controls". Появлися в конце прошлого года, бесплатен, работает под ASP.NET и Windows Forms, куча разных диаграмм, локализация, AJAX и еще много чего. Если кто помнит — это бывшие «Dundas Data Visualization controls», которые Microsoft переработало и будет поставлять с .NET Framework 4.0.

Единственное серьезное ограничение — нужен .NET Framework 3.5 SP1. Так что тут — как повезет с проектом.
Плюс вам.

З.Ы. Премию-то пообещали?
Неа. Спасибо за плюс.
По-русски называется «круговая диаграмма».
«Трехмерная круговая диаграмма».
Но за код спасибо.
Статья интересна, но абсолютом не является.
Мне кажется, что человек, написавший её просто не правильно применял данную диаграмму, которую принято использовать для быстрой оценки ситуации и наглядном изображении равномерности расходов, например или резком выделении расходов из общего ряда.
Бюджетирование например с помощью неё удобно анализировать.
В любом случае, даже если принять, что pie chart имеет право на жизнь. то уж 3d pie chart — точно бессмыслица.
3d — это украшательство, дезайн.
судя по вашим рассуждениям также можно сказать, что между обыкновенной плоской гистрограммой и гистограммой из 3d столбцов большая разница
да дело не в дизайне, а в том, что 3D pie chart искажает пропорции, и поэтому понять его еще сложнее, чем обычный.
У нас была задача добавить 3D-Pie для конкретного заказчика и по его желанию, рассуждения на тему подходит \ не подходит оставлю Лебедеву. Жираф большой — ему видней =)
в статье, которую вы привели, как я понял, автор ругает круговую диаграмму о «Количестве добавленных фич на версию Ворда», и там говориться, что, поскольку диаграмма связанна с хронологией, то было бы наглядней изобразить её в виде графика слева направо, т.е. в данном случае она применена не к месту в отличие от первой про «количество англоговорящих по странам», о которой автор пишет, что всё вполне наглядно.

т.е. круговая диаграмма очень наглядно иллюстрирует долевое участие в чём-то едином, и ещё хорошо если немного категорий.

а по поводу того, что 3D pie chart пропорции искажает и трудно её понять: без цифр на похожих по размерам секторах даже на плоской не разберёшь какой кусок больше.
Скажите тогда — посетителей из Швеции больше, чем из Молдовы?
Что вас в этом так удивляет?
У меня вопрос, может кто поможет.
Существует ли какой-нибудь бесплатный(опенсорц) WPF компонент для построения трендов-графиков по-типу екселевских линейных?
Или придется самому быдлокодить?)
Благодарю. Возможно что-то приспособлю под свою задачу.
Ух ты, круто! А методом пузырьковой сортировки вы уже овладели? Может и по этой теме оставите пару постов?
Есть замечательная книга «Practical C# Charts and Graphics», которую написал Jack Xu. Хоть и на английском, но кода очень много (его можно отдельно скачать), расписано создание абсолютно любых графиков. Кто работал в Matlab с 2D и 3D графиками, увидит много знакомых картинок =)
Если захотите научиться строить графики или сделать для этого компонент, то рекомендую полистать эту книгу ;)
Насколько я помню, необходимо иметь бумажную копию книги, чтобы скачать код. Если у вас он есть, поделитесь :)
Огромное спасибо, еще где-то достать бы книгу Jack Xu «Numerical Methods With C#».
Не ну это попсово. А вот выдайте:
1. expand/collapse
2. multiseries
3. подписи с их авто-дистрибьюцией и зажиманием графика
4. (опционально) анимацию
5. превращение в Doughnut (дырку по середине)

И градиентики.

[злобный самопиар]
anychart.com/products/anychart/gallery/Pie-and-Doughnut-Charts.php
внизу
[/злобный самопиар]
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации