how can I plot particular rows of a matrix?

조회 수: 166 (최근 30일)
Tran Trang
Tran Trang 2019년 7월 10일
댓글: ogheneochuko oyaide 2022년 8월 25일
I have a 7208x34 matrix which columns [3 32] represent price data over the 1961-1990 period. And a row array 1x30 (the row array indicates the years from 1961 to 1990). I want to plot time series of 68 rows (i.e. grouping by cities) for each goods over the 1961-1990 period, against the 1x30 row array (years). Something looks like this:
Goods city_name price_year1961 price_year1962…
A city1 0.5
A city2 0.7
.
.
.
A city68 0.9
B city1 0.4
B city2 0.7
.
.
.
B city68 0.9
and a row vector represents the years [1961:1990].
Thank you very much!

채택된 답변

Basil C.
Basil C. 2019년 7월 10일
편집: Basil C. 2019년 7월 11일
You could first start by reading the columns into an array
data=readtable('Price.txt');
prices=data(:,3:30);
n=5; %in order to plot the data for city 5
city_data=prices(n:68:end,:)
year=1961:1990;
If you want to plot for individual Good
good=3 % for the data of Good 3
plot(year,city_data(good,:))
For all the goods
for i=1:size(city_data,1)
plot(year,city_data(i,:))
hold on
end

추가 답변 (2개)

KSSV
KSSV 2019년 7월 10일
If A is your data...and you want to plot ith row; use
plot(A(i,:))

Tran Trang
Tran Trang 2019년 7월 10일
편집: Tran Trang 2019년 7월 10일
Hi B Matlabi,
Thank you for your reply. should it be city_data = prices(n:68:end,:), instead of city_data = prices(n:n:end,:), as the city repeats after 68 rows?
And how can I plot all the goods but with each plot for each good?
Thank you.
  댓글 수: 2
Basil C.
Basil C. 2019년 7월 11일
Yes you are correct, it should be
city_data = prices(n:68:end,:)
In order to plot all the goods but with each plot for each good at once you could try the subplot function
Tran Trang
Tran Trang 2019년 7월 11일
Thank you very much!

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by