Попытка сделать многостолбцовый график

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 наборов столбцов вдоль оси трансект / х.

Я пытался сделать это с помощью 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, тоже была бы потрясающей.

Надеюсь, это имеет смысл. Любая помощь приветствуется!

user5818107
источник
Вопросы по кодированию находятся на 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, если в нем меньше максимального количества Grain Sizeточек данных. Если вы хотите добавить метки данных, ошибки будут отображаться как ноль, поэтому отформатируйте метки данных в произвольном формате, #,##0;-#,##0;;чтобы скрыть нули.

Инженер Тост
источник
Спасибо вам большое! Я очень ценю это. Я смог манипулировать несколькими вещами, основываясь на твоей рекомендации. Еще раз спасибо, что нашли время, чтобы помочь мне!
user5818107
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), чтобы ваши таблицы / диаграммы всегда были обновлены.

DAV
источник
0

Ну, я не знаю, является ли столбчатая диаграмма действительно лучшим способом показать размер зерна по сравнению с положением, я бы попробовал точечную диаграмму.

Во-первых, я создал сводную таблицу, чтобы упорядочить данные в лучшем макете с датами в области столбцов, расстоянием в области строк и средним размером зерна в качестве значений. Это в E1: I9 на скриншоте.

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

Затем я создал график рассеяния и в диалоговом окне выбора данных щелкнул скрытые и пустые ячейки и выбрал параметр для рисования линии, соединяющей точки по обе стороны от отсутствующей ячейки.

размер зерна против положения

Что-то выглядит смешно в самых последних измерениях!

Джон Пельтье
источник