Ненавижу не соглашаться с таким же плакатом , особенно после того, как он был принят, но Transpose
не нужен.Почти все, о чем вы просите, может быть сделано в контексте Part
:
ListPlot3D[ data[[All, {1, 4, 5}]] ]
Поскольку матрицы хранятся в Mathematica построчно, [[All, {1, 4, 5}]]
может быть прочитано [[rows, columns]]
.Более конкретно, All
указывает здесь, что вы хотите все строки, но вы также можете указать конкретные строки.Другая интересная конструкция - это Span
, которая используется для указания групп индексов, и если ваш CSV-файл содержит строку заголовка, вы можете удалить ее из ваших данных, используя
ListPlot3D[ data[[ 2 ;; , {1, 4, 5}]] ]
Что касается вашего второго требования, чтобы использовать оба столбца 1 и 2 в качестве координаты x, тогда это просто
ListPlot3D[ {data[[All, {2, 4, 5}]], data[[All, {1, 4, 5}]]} ]
, и вы меняете All
на 2;;
, если хотите удалитьстрока заголовка.