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

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

3 ответа3

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 на моем снимке экрана), и я убедился, что левая верхняя ячейка ( Е12) было пустым.

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

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

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

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;; скрыть нули.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .