Я пытаюсь создать столбчатый график, где ось 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, тоже была бы потрясающей.
Надеюсь, это имеет смысл. Любая помощь приветствуется!
источник
Ответы:
Вот одна из идей: создайте новую таблицу, в которой данные будут по-разному представлены в таблице, и составьте диаграмму на основе этого. Это не идеальное решение, но оно работает, и его легко расширять по мере роста ваших данных.
Во-первых, вот как выглядит результат:
Вы можете увидеть ваши исходные данные в столбцах
A:D
. Я на самом деле изменил его, потому что было два очень больших значения, и они затруднили просмотр трех столбцов. ВF1:I8
это таблица , я сделал , и график в правом нижнем углу. Вот как вы можете повторить процесс:Distance along Transact
столбце (далее это называется простоDistance
). Простой способ сделать это с формулой=COUNTIF(D:D,MODE(D:D))
.F2
, используйте формулу:=SMALL(D:D,1)
чтобы получить наименьшееDistance
значение.F3
, используйте формулу массива{=SMALL(IF(D:D>F2,D:D),1)}
(введите ее с помощью Ctrl+ Shift+ Enter) и перетащите формулу вниз по мере необходимости.G2
, используйте формулу массива{=INDEX($C:$C,SMALL(IF($D$2:$D$17=$F2,ROW($D$2:$D$17),9E+99),G$1))}
и перетащите ее вниз и снова, чтобы заполнить таблицу. Игнорируйте#REF!
ошибки, так как они не будут отображаться на графике.Единственное редактирование, которое я сделал для скриншота выше, заключалось в уменьшении промежутков между столбцами, чтобы вы могли лучше их видеть.
Недостатком этого метода является то, что он оставляет пробелы между значениями оси X, если в нем меньше максимального количества
Grain Size
точек данных. Если вы хотите добавить метки данных, ошибки будут отображаться как ноль, поэтому отформатируйте метки данных в произвольном формате,#,##0;-#,##0;;
чтобы скрыть нули.источник
Вот еще один вариант, который следует рассмотреть, используя встроенную эффективность Excel с таблицами и сводными таблицами.
Data > Text-to-Columns
Insert > Table
Insert > Pivot Table
со следующими настройками:Insert > Charts > 2-D Column Chart
Теперь, без каких-либо формул, у вас есть связанный ряд объектов, которые будут обновляться с изменениями среди них (например, добавление строк в таблицу данных, фильтрация сводной диаграммы или сводной таблицы).
Чтобы получить максимальную отдачу от этого решения, вы можете настроить автоматическое обновление таблицы из разных источников данных (например, SQL Server), чтобы ваши таблицы / диаграммы всегда были обновлены.
источник
Ну, я не знаю, является ли столбчатая диаграмма действительно лучшим способом показать размер зерна по сравнению с положением, я бы попробовал точечную диаграмму.
Во-первых, я создал сводную таблицу, чтобы упорядочить данные в лучшем макете с датами в области столбцов, расстоянием в области строк и средним размером зерна в качестве значений. Это в E1: I9 на скриншоте.
Вы не можете сделать точечную диаграмму как сводную диаграмму. Вы можете сделать один, если вы добавляете ряд данных по сериям, длинную историю, но вместо этого я скопировал сводную таблицу и вставил в качестве значений в другой диапазон (E12: I19 на моем снимке экрана), и я убедился, что левая верхняя ячейка ( Е12) было пустым.
Затем я создал график рассеяния и в диалоговом окне выбора данных щелкнул скрытые и пустые ячейки и выбрал параметр для рисования линии, соединяющей точки по обе стороны от отсутствующей ячейки.
Что-то выглядит смешно в самых последних измерениях!
источник