Спроба скласти графік з декількома стовпцями


0

Я намагаюся скласти графік стовпців, де вісь y - середній розмір зерна, вісь x - відстань уздовж трансекта, а кожна серія - значення дати та / або числа (насправді не має значення).

Ось зображення моїх даних і ось воно у форматі CSV:

Date,,Grain Size (mm),Distance along Transact
8/7/2013,2,0.7912,9
4/5/2014,3,0.513,9
6/5/2015,4,0.4644,9
6/26/2013,1,1.0852,12
6/5/2015,4,1.8515,12
8/7/2013,2,1.812,15
4/5/2014,3,6.371,15
6/5/2015,4,1.602,15
6/26/2013,1,1.0251,17
6/5/2015,4,5.6884,17
6/26/2013,1,0.4166,25
6/5/2015,4,24.8669,25
6/26/2013,1,0.5223,32.5
6/5/2015,4,37.387,32.5
6/26/2013,1,0.5159,39.5
6/5/2015,4,0.6727,39.5

Я спробував декілька різних методів у Excel 2010, але не можу це зрозуміти. Я сподіваюся, що, скажімо, на першому місці, 9, буде три колонки, а потім о 12 - дві колонки. Якщо це взагалі має значення, скажімо, загальна відстань становить 50. Результат цих даних повинен мати 7 наборів стовпців уздовж трансекти / осі x.

Я намагався це зробити за допомогою python, але мої знання з кодування близькі до нуля. Ось мій код поки що:

import numpy as np
import matplotlib.pyplot as plt
grainsize = [0.7912, 0.513, 0.4644, 1.0852, 1.8515, 1.812, 6.371, 1.602, 1.0251, 5.6884, 0.4166, 24.8669, 0.5223, 37.387, 0.5159, 0.6727]
series = [2, 3, 4, 1, 4, 2, 3, 4, 1, 4, 1, 4, 1, 4, 1, 4]
distance = [9, 9, 9, 12, 12, 15, 15, 15, 17, 17, 25, 25, 32.5, 32.5, 39.5, 39.5]

Якщо хтось знає, який код використовувати, було б дуже корисно. Рекомендація, як це зробити в Excel, теж буде приголомшливою.

Сподіваємось, це має сенс. Будь-яка допомога буде дуже вдячна!


Питання кодування належать на stackoverflow.com, тому ви можете розглянути питання про поділ цього на два запитання. Крім того, ви кажете, що ви спробували кілька різних методів в Excel, ви повинні включити подробиці про те, що ви спробували, так що люди, які намагаються відповісти на питання, не витрачають час на те, що не вийде, і хтось може вміти налаштувати щось, що ви намагалися змусити його працювати.
blm

Відповіді:


0

Ось одна ідея: Створіть нову таблицю, яка по-різному відображає табуляцію даних і складіть діаграму. Це не ідеальне рішення, але воно працює і його легко розширювати в міру зростання ваших даних.

По-перше, ось як виглядає результат:

Кінцевий продукт

Ви можете бачити свої вихідні дані у стовпцях A:D. Я фактично модифікував це, тому що було два дуже великих значення, і вони важко побачили три стовпці. У F1:I8це таблиця, яку я зробив, і діаграма знаходиться внизу праворуч. Ось як можна повторити процес:

  1. З'ясуйте, скільки разів найчастіше значення з’являється у Distance along Transactстовпці (згадане як тільки Distanceзараз). Простий спосіб зробити це за допомогою формули =COUNTIF(D:D,MODE(D:D)).
  2. Створіть у своїй новій таблиці стільки стовпців і просто використовуйте цифри як їх заголовок. (1, 2, 3, ...)
  3. В F2, використовуйте формулу: =SMALL(D:D,1)щоб отримати найменше Distanceзначення.
  4. В F3, використовувати масив формулу {=SMALL(IF(D:D>F2,D:D),1)}(ввести його з допомогою Ctrl+ Shift+ Enter) і перетягнути вниз формулу по мірі необхідності.
  5. В G2, використовуйте масив формулу {=INDEX($C:$C,SMALL(IF($D$2:$D$17=$F2,ROW($D$2:$D$17),9E+99),G$1))}і перетягніть її вниз і знову заповнити таблицю. Ігноруйте #REF!помилки, оскільки вони не відображатимуться на графіку.
  6. Створіть діаграму на основі діапазону нової таблиці.

Єдине редагування, яке я зробив для скріншоту вище, було зменшити прогалини між стовпцями, щоб ви могли це краще побачити.

Мінусом цього методу є те, що він залишає порожні пробіли між значеннями X-Axis, якщо у нього менше максимальної кількості Grain Sizeточок даних. Якщо ви хочете додати мітки даних, то помилки відображатимуться як нульові, тому відформатуйте мітки даних у власному форматі, #,##0;-#,##0;;щоб приховати нулі.


Дуже дякую! Я дійсно ціную це. Я міг маніпулювати кількома речами на основі вашої рекомендації. Ще раз дякую, що знайшли час, щоб допомогти мені!
користувач5818107

1

Ось ще один варіант, який слід розглянути, використовуючи вбудовану ефективність Excel із таблицями та зведеними таблицями.

  1. Перетворення даних у стовпці Data > Text-to-Columns
  2. Створіть таблицю Excel зі своїх даних (із вибраною коміркою) Insert > Table
  3. Створіть зі своєї таблиці зведену таблицю (із вибраною коміркою у таблиці) Insert > Pivot Tableіз такими налаштуваннями:
    • Мітки стовпців : стовпець 1
    • Мітки рядків: Відстань уздовж транзакції
    • Значення: Середній розмір зерна
  4. Створіть зведену діаграму зі своєї зведеної таблиці (з вибраною коміркою у вашій зведеній таблиці) Insert > Charts > 2-D Column Chart

Таблиці та графіки Excel

Тепер без жодних формул у вас пов'язана серія об'єктів, які будуть оновлені змінами серед них (наприклад, додавання рядків до таблиці даних, фільтрування вашої зведеної діаграми чи зведеної таблиці).

Щоб отримати максимальне значення від цього рішення, ви можете налаштувати вашу таблицю для автоматичного оновлення з різних джерел даних (наприклад, SQL Server), забезпечуючи, щоб ваші таблиці / графіки завжди були оновлені.


0

Ну, я не знаю, чи діаграма стовпців справді найкращий спосіб відобразити розмір зерна проти позиції, я б спробував розкидати діаграму.

По-перше, я склав зведену таблицю, щоб упорядкувати дані в кращому розташуванні з датами в області стовпців, відстані в області рядків і середнім розміром зерна як значення. Це в екрані E1: I9 на скріншоті.

Ви не можете створити діаграму розкидання у вигляді поворотної діаграми. Ви можете зробити його, якщо додати ряд даних за серіями, довгу історію, але замість цього я скопіював зведену таблицю і вставив як значення в інший діапазон (E12: I19 на знімку екрана), і я переконався, що лівий верхній осередок ( E12) було порожнім.

Потім я зробив свій графік розкидання, і в діалоговому вікні вибору даних я натиснув на приховані та порожні комірки і вибрав варіант намалювати лінію, що з'єднує точки з обох боків відсутньої комірки.

розмір зерна проти позиції

Щось виглядає смішно в останніх вимірах!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.