Отправляет email-рассылки с помощью сервиса Sendsay

Алгоритмы для всех

  Все выпуски  

Алгоритмы для всех


Рассылка -- ‘ Алгоритмы для всех
Выпуск  -- # 101
Отправлен -- 2011'10'17

» « к//рпь|о|и|(1944*29)///11\10\15  » // 3601^2*_/// «

Пушкарев С.В. Выведение произвольных меток точек на график типа облака в программе Excel. : Алгоритм. = 2011\10\15,16, 7.2К ( ПВДП )


При изменениях графиков типа облака , вызванных изменением данных в таблице Excel’я , желательно сравнить, куда переместилась та или иная точка. Т.е., желательно различать точки графика. Причем, в моем конкретном случае лучше – не цветом или, скажем, формой значка, а текстом ( понимаю под ним также и цифры ). Т.е., неплохо было бы дать тестовую метку каждой точке на графике.

Также, часто желательно было бы иметь подобные метки уже на готовом графике: чтоб иметь не «пустые» ( «слепые» ) точки, а «осмысленные». - Чтобы, например, я сам как изготовитель мог в какой-то степени контролировать истинность исходных данных. ...А «потребитель» графика чтоб через эти метки мог увязать точки с теми же ( -- для проверки истинности / точности ) или какими-либо иными известными ему данными.

Готовые варианты меток – таковы: « имена рядов » , « значение X », « значение Y » ( выделить точки графика , щелкнув на одной из них мышью –> правая кнопка мыши –>  Формат рядов данных... -> Подписи данных ). Ни один из них мне не подходит: « значение X »,  « значение Y » у меня – рабочие числа »&

Вообще говоря, если в качестве икса в таблице взят столбец с самими метками, то программа выводит-таки эти метки, но при этом как собственно абсциссы берет числа 1, 2, 3, ... – Вроде бы, как порядковый номер данной метки в столбце.

&« , а ряд в графике – всего один: то, что указано как игрек. Выведение его имени при каждой точке пользы мне не принесет.

Рабочая задача у меня была – вывести имена районов Псковской области при точках облака зависимости плотности бурого медведя от плотности людского ( сельского и мало-городского ) населения в районах. Но здесь я дам пример попроще.

Пусть исходные данные в таблице Excel’я ( 11-го, Office-2003 ) имеют вид такой. :

 

J

K

L

44

метка

икс

игрек

45

лютик

2

10

46

одуванчик

4

20

47

колокольчик

6

30


Жирным курсивом я даю имена столбцов и рядов в таблице Excel’я . Здесь по вертикали идут ряды значений. Будущие имена этих рядов заданы в верхнем ( 44-м ) ряду ( и выделены курсивом »&

В реальной таблице это делать необязательно.

&« ). Здесь заданы своими координатами три будущие точки ( столбцы K, - «икс» ,- L , - «игрек» ) , их будущие метки даны в столбце J ( «метка» ) .

Их следует привести к такому виду. :

 

N

O

P

Q

R

44

икс

лютик

одуванчик

колокольчик

игрек________

45

2

10

 

 

10

46

4

 

20

 

20

47

6

 

 

30

30


Т.е., 1) вставить «квадрат» , где по диагонали – ординаты точек, - те же значения, что и в столбце «игрек» ; 2) дать столбцам этого квадрата имена, равные меткам будущих точек ; 3) дать в имени столбца с ординатами «хвост» такой длины, чтоб имя по длине было больше любого другого имени , не считая столбца с абсциссами ( N , «икс» ) »&

Для дальнейшего этот столбец ( «икс» ) может вообще не иметь имени.

&« : « игрек » -> « игрек________ » .
 
Именно такое расположение столбцов – необязательно, но при иных вариантах будут лишние шаги. 

Выделить мышью рабочую область ( т.е., будущие ряды данных и их имена ). :

 

N

O

P

Q

R

44

икс

лютик

одуванчик

колокольчик

игрек________

45

2

10

 

 

10

46

4

 

20

 

20

47

6

 

 

30

30


Меню «Вставка» –> Диаграмма... -> Стандартные -> выбрать «Точечная» -> кнопка «Далее>» -> доска «Диапазон данных» -> поставить точку при «Ряды () в столбцах» -> доска «Ряд» .

Убедиться , что список рядов выглядит примерно так. :

    лютик
    одуванчик
    колокольчик
    игрек________

В нем должны присутствовать все столбцы «квадрата» , а ПОСЛЕ них – столбец ординат.

Убедиться , что для первого ряда ( «лютик» ) значения имеют вид примерно такой. :

    Имя : =Лист1!$O$44
    Значения
X : =Лист1!$N$45:$N$47
    Значения
Y : =Лист1!$O$45:$O$47

Для второго ( «одуванчик» ) – такой. :

    Имя : =Лист1!$P$44
    Значения
X : =Лист1!$N$45:$N$47
    Значения
Y : =Лист1!$P$45:$P$47

Для третьего ( «колокольчик» ) – такой. :

    Имя : =Лист1!$Q$44
    Значения
X : =Лист1!$N$45:$N$47
    Значения
Y : =Лист1!$Q$45:$Q$47

Для 4-го ( «игрек________» ) – такой. :

    Имя : =Лист1!$R$44
    Значения
X : =Лист1!$N$45:$N$47
    Значения
Y : =Лист1!$R$45:$R$47

Excel при заданном выше расположении столбцов сам все должен правильно собрать: что идет в абсциссы ( иксы ), что – в ординаты ( игреки ) , что – в имена рядов. И 4 ( или более ) шага выше ( «Убедиться , что для первого ряда ...» ,, «Для 4-го ...» ) в дальнейшем будут не нужны.

Нажать кнопку «Далее >».

На доске «Заголовки» дать значения :

    Название диаграммы := « Зависимость игрека от икса » ( Или дать ваш собственный заголовок. )
    Ось Х (категорий) := «икс» ( Или дать вашу собственную подпись оси X. )
    Ось Х (категорий) := «игрек» ( Или дать вашу собственную подпись оси Y. )

Перейти к доске «Подписи данных» и поставить галочку при «Включить в подписи [ ] имена рядов».

Нажать кнопку «Далее >». Нажать кнопку «Готово». Появился график. Метки в парах при каждой точке налеплены друг на друга.

Щелкнуть мышью на ( заранее приготовленном выше ) «хвосте» какой-либо из меток: все «хвостатые» метки стали выделенными.

Нажать кнопку «Del»: все хвостатые метки исчезли. Остались только нужные.

Выделить легенду. Выделить внутри нее значок при «игрек________» . Правая кнопка мыши -> Формат ключа легенды... -> Тип маркера := <ромб>, цвет := <черный> , фон := <черный> , размер := 7 , ОК . : На графике исчезли следы меток прочих рядов ( иных, чем ряд «игрек________» ) . : Поскольку они стали закрыты метками большего размера. : Исходно метки имеют размер 5 , а мы сейчас установили – 7.

Щелкнуть правой кнопкой мыши у края всей области графика, - скажем, над названием графика. -> Параметры диаграммы -> Легенда -> убрать галочку при «Добавить легенду» , ОК. Легенда с графика исчезла.

Все, график с метками точек – готов. Выглядит он примерно так. :

 

Зависимость игрека от икса

 

игрек

 

 

 

 

 

 

 

 

 

 

<> колокольчик

 

 

 

 

 

 

 

 

 

 

<> одуванчик

 

 

 

 

 

 

 

 

 

<> лютик

 

 

 

 

 

 

 

 

 

 

 

икс

 


В 12-м Excel’е ( Office-2007 ) эта возможность , похоже, пропала. : При шагах «выделить точки графика , щелкнув на одной из них мышью –> правая кнопка мыши –> Add Data Labels» в качестве меток появляются значения по оси «игрек». И никаких других вариантов не предлагает...

Подобное выведение меток при точках является стандартной операцией в геоинформационных системах. Если рассматривать график как карту »&

Структурно они – действительно одинаковы. Году в 2005-м я даже создал термин «киг» ( «карта или график» ) для своего мета-указателя.

&« , то ось «икс» будет долготой, а ось «игрек» -- широтой. Для геоиформационной системы ArcView шаги будут такие. Сохранив таблицу как базу данных ( DBF ) с короткими  латинскими именами полей , открыть эту базу данных в облике ( View ) как таблицу событий ( Event Theme ), взяв поле «икс» как долготу ( «X field» ) , а «игрек» как широту ( «Y field» ). В моем рабочем случае это – неудобно: поскольку порядки значений сильно отличаются ( икс = 37...177 , игрек = 0...4.8 ), на карту точки выводятся в виде горизонтальной цепочки. Т.е., ось ординат – «сжата», и никакой (не)зависимости не углядеть. Т.е., нужно делать дополнительное поле с увеличенными значениями игрека или уменьшенными – икса. 

Королев, 2011\10\15,16



В избранное