求助matlab画图问题

请问知道时间,省份和GDP如何画出跟着一样的图,反映出30个省份近5年的GDP变化,就是类似这样的图画,有数据,分别是中国的30各省份,近几年各省的GDP求matlab画出类似的图来!

这里有三个问题, 一是不同曲线的绘制, 这个可以用for循环实现; 二是标签的设定, 这个要用xtick,xticklabel设定; 第三个问题比较复杂, 是实现xticklabel的旋转, 这个没有直接的命令, 需要使用text实现手工绘制. 下面给出了一个实例.
其它细节可以自己斟酌修改. 需要帮助可以私信我.

function draw()
close all;clear all;clc;
y=[1 2 3 4 5
3 5 6 7 8
1 3 5 8 14];
figure(1);hold on;
for i=1:3
plot(5*(i-1)+1:5*(i-1)+5,y(i,:),'k.-')
end
Xt=[2.5,7.5 12.5];
xTickLabel=['浙 江';'上 海';'北 京'];
set(gca,'xTick',Xt);
set(gca,'xTickLabel',xTickLabel)

% 下面是实现旋转的代码.
% ---------------------------------------------------------------
ax = axis; % Current axis limits
axis(axis); % Set the axis limit modes (e.g. XLimMode) to manual
Yl = ax(3:4); % Y-axis limits
t = text(Xt-0.125,Yl(1)*ones(1,length(Xt))-0.1,xTickLabel(:,:));
set(t,'HorizontalAlignment','right','VerticalAlignment','top', ...
'Rotation',90);
% Remove the default labels
set(gca,'XTickLabel','')
% Get the Extent of each text object. This
% loop is unavoidable.
for i = 1:length(t)
ext(i,:) = get(t(i),'Extent');
end
% Determine the lowest point. The X-label will be
% placed so that the top is aligned with this point.
LowYPoint = min(ext(:,2));
% ---------------------------------------------------------------
end追问

貌似画不出来啊!这里有问题!

追答

我这边复制下来运行没问题啊... 你检查下代码是不是复制错了啊...或者你截图你复制的代码我看看...

追问

就是这样的运行就有错误。。。。。不知道为什么,可能那里分错了!求指点

追答

额, 不知道为什么你复制下来会这样, 把注释都混到代码里面了...

正确的应该是

你照着断句吧. 

追问

哦哦,谢谢啊!我再试试1

追答

OK. 

只需要把 第 3-5,7,10,11 这些行修改成你自己需要的参数就可以啦. 图形的美化可以画出来以后在图形界面上慢慢修改. 今天我要回去啦... 有问题明天中午或者晚上再讨论吧. 


温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-13
分段话吧,用for循环和hold on 然后一段一段画
相似回答