2015-09-24 2 views
1

предположить, у меня есть 2D набор данных a в MatLab (0):Latex: участок 2d CSV

a = randi(5); % (0) 
figure; imagesc(a); % (1) 
csvwrite('data.csv',a); % (2) 

экспортировать набор данных в формате CSV в (2).

В LaTex можно построить 1D-набор данных с pgfplots:

\begin{tikzpicture} 
    \begin{axis}[ymin=0] 
     \addplot table {data1d.csv}; (3) 
    \end{axis} 
\end{tikzpicture} 

Можно было бы просто экспортировать сюжет из (1) и импортировать его с includegraphics в латексе, но это только Безразлично» t выглядят так же хорошо, как родной сюжет.

Как я могу отобразить 2D-набор данных, импортированный из csv в LaTex? Есть ли способ использования pgfplots/tikz, как показано на рисунке 3?

Edit:

Данные в файле CSV содержит значения шкалы оттенков серого (0-255) функции участка 2D, такие как, например: ​ ​

2D Image

-> в записи данных о * .csv файл будет выглядеть примерно так:

data = [164,167,165,164,162,162,160,159,157,153,152; 
    160,151,145,143,150,148,147,147,142,140,140; 
         ... 
    161,161,159,153,153,151,150,146,147,148,182] 

ответ

1

Вы могли бы сделать что-то вроде этого:

\documentclass[tikz]{standalone} 

\begin{document} 

\begin{tikzpicture} 
    \begin{axis}[view={0}{90}] 
    \addplot3[surf] table[x=x,y=y,z=data] {data.csv}; 
    \end{axis} 
\end{tikzpicture} 

\end{document} 

Файл data.csv имеет это содержание:

x y data 
0 0 165 
1 0 167 
2 0 162 

0 1 153 
1 1 154 
2 1 151 

0 2 154 
1 2 148 
2 2 153 

Результат:

enter image description here

+0

Спасибо за отзыв. Вообще-то хорошо, НО: он делает что-то еще для меня. Я немного поиграю и напишу еще раз, как только напишу. – mmoment

Смежные вопросы