Plot Multiple Time Series Based on Individual Condition

6 Ansichten (letzte 30 Tage)
Dima
Dima am 14 Sep. 2011
Hello Friends!
I am somewhat new to scientific charting) more accustomed to working in Excel, but I think I have run into its limitation as regards to charting…I am not sure if Matlab can do the following…
1) Take the time series data from excel, each data series will have three describers (first three rows of each column) – COLOUR, TYPE and THICKNESS 2) plots each time series data in such a way as: a) colors the time series according to a time series criterion (eg. 1 for red, 2 for black) b) allows to adjust the thinness of the plotted series based on another criterion (e.g. 10 very thick, 2- close to hairline) c)Sets the type of the trendline to dashed/solid (based on the Type criterion)
I can send an example worksheet if necessary..
Thanks for your time!) I will be glad to hear any opinion.
Dima

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 14 Sep. 2011
You may wish to create some cell arrays to help:
colors = {'r', 'k', 'g'}; %red, black, green
linetypes = {'--', '-'}; %dashed, solid
% ....
thislinespec = [colors{column1}, linetypes{column2}];
thisthick = column3;
plot(x, y, thislinespec, 'thickness', thisthick);
  12 Kommentare
Walter Roberson
Walter Roberson am 15 Sep. 2011
Fangjun, 'thickness' refers to the thickness of my head when I'm working on too many things at one time ;-(
Dima
Dima am 15 Sep. 2011
yeah))) thickness must refer to the linewidth)))) Walter hopefully)) your head linewidth will go back to normal)))) Maybe then you can still help me create this kind of code that can build upon later...thanks!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Fangjun Jiang
Fangjun Jiang am 14 Sep. 2011
Yes, all is pretty straightforward in MATLAB. You can type help plot or doc plot in MATLAB for more information. Try this example for yourself.
figure;hold on
plot(1:10,'r','linewidth',10)
plot(rand(10,1),'g--')
Code below applies to a simple example Excel file.
[Num,Txt,Raw]=xlsread('test.xls');
colors = {'r', 'k', 'g'}; %red, black, green
linetypes = {'--', '-'}; %dashed, solid
figure(1);hold on;
for k=2:4
plot(Num(4:end,1),Num(4:end,k),[colors{Num(1,k)},linetypes{Num(2,k)}],'linewidth',Num(3,k));
end
  25 Kommentare
Fangjun Jiang
Fangjun Jiang am 17 Sep. 2011
The function is text().
Dima
Dima am 18 Sep. 2011
thanks....it is inserted in the list of the arguments of the plot function right?

Melden Sie sich an, um zu kommentieren.


Dima
Dima am 28 Sep. 2011
Fangjun Jiang! Maybe you can also help me with one more questions about the code you provided before....I wonder if it is possibel to specify the colors not in the default format (e.g. 'r') but in the RGB format ( [1 0 0])? I ask this because I need different shades few red and blue...) Thanks!) D
  1 Kommentar
Walter Roberson
Walter Roberson am 28 Sep. 2011
[Num,Txt,Raw]=xlsread('test.xls');
colors = {'r', 'k', [0.6 0.8 3.9]}; %red, black, green
linetypes = {'--', '-'}; %dashed, solid
figure(1);hold on;
for k=2:4
plot(Num(4:end,1),Num(4:end,k),linetypes{Num(2,k)},'linewidth',Num(3,k), 'color', colors{k} );
end

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu MATLAB Functions in Microsoft Excel finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by