24小时热门版块排行榜    

Znn3bq.jpeg
查看: 2514  |  回复: 15

xiexieliutao

金虫 (正式写手)

[交流] matlab 可以画这种图吗? 已有10人参与

matlab 可以画这种图吗?可以像origin一样有break画图吗?谢谢~
或类似的 表示纵坐标此段非等距表示。

origin 的图 。matlab可以画吗?

[ Last edited by xiexieliutao on 2012-3-23 at 14:23 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dubo

金虫 (著名写手)

优秀版主


小木虫: 金币+0.5, 给个红包,谢谢回帖
没见过,印象当中不可以
2楼2012-03-23 14:54:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

patience_tt

新虫 (初入文坛)

ps一下?
3楼2012-03-23 15:30:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lurencyj

木虫 (著名写手)

★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
jjdg: 金币+1, 感谢应助 2012-03-24 01:53:30
道出数据,用origin左图

[ 发自手机版 http://muchong.com/3g ]
很女子很弓虽大
4楼2012-03-23 16:42:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

梦在潇湘

铁杆木虫 (著名写手)

★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
jjdg: 金币+1, 感谢应助 2012-03-24 01:53:36
没用过,用origin画图就行了啊
5楼2012-03-23 20:54:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

linhongzhi89

金虫 (小有名气)


jjdg: 金币+1, 感谢应助 2012-03-24 01:53:42
建议photoshop
吉林师范 化学
6楼2012-03-23 22:26:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
可以的,我师兄就画过!
好好学习,天天向上。
7楼2012-03-25 08:25:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sogooda

金虫 (正式写手)


余泽成: 金币+1, 谢谢参与应助! 2012-03-30 13:50:07
帮你看了一下,找到一个非matlab自带的函数可用。供参考吧。
CODE:
function h=BreakPlot(x,y,y_break_start,y_break_end,break_type,y_arbitrary_scaling_factor)
% BreakPlot(x,y,y_break_start,y_break_end,break_type)
% Produces a plot who's y-axis skips to avoid unnecessary blank space
%
% INPUT
% x
% y
% y_break_start
% y_break_end
% break_type
%    if break_type='RPatch' the plot will look torn
%       in the broken space
%    if break_type='Patch' the plot will have a more
%       regular, zig-zag tear
%    if break_plot='Line' the plot will merely have
%       some hash marks on the y-axis to denote the
%       break
%
% EXAMPLE #1:
%
% NEW = 1;
% sampleTimes = [1:200];
% RPM = [600+rand(1,100)*500, 4500+rand(1,100)*2500];
% figure;
% % BreakPlot
% str = {'','Line','Patch','RPatch'};
% for i=1:4
%    subplot(2,2,i);
%    if i==1
%        plot(sampleTimes,RPM,'r.')
%        title('Plot');
%    else
%        if ~NEW
%            breakplot_old(sampleTimes,RPM,2000,4000,str{i});
%        else
%            breakplot(sampleTimes,RPM,2000,4000,str{i},40);
%        end;
%        title(sprintf('Breakplot %s',str{i}));
%    end;
% end;
%
%
% EXAMPLE #2:
%
% figure;
% subplot(4,4,[1:2 5:6]);
% BreakPlot(rand(1,21),[1:10,40:50],10,40,'Line');
% subplot(4,4,[3:4 7:8]);
% BreakPlot(rand(1,21),[1:10,40:50],10,40,'Patch');
% subplot(4,4,[9:10 13:14]);
% BreakPlot(rand(1,21),[1:10,40:50],10,40,'RPatch');
% x=rand(1,21);y=[1:10,40:50];
% subplot(4,4,11:12);plot(x(y>=40),y(y>=40),'.');
% set(gca,'XTickLabel',[]);
% subplot(4,4,15:16);plot(x(y<=20),y(y<=20),'.');
%
%
% IT'S NOT FANCY, BUT IT WORKS.

% Michael Robbins
% michaelrobbinsusenet@yahoo.com

% TEST DATA
if nargin<6 y_arbitrary_scaling_factor = 100.0; end;
if nargin<5 break_type='RPatch'; end;
if nargin<4 y_break_end=39; end;
if nargin<3 y_break_start=11; end;
if nargin<2 y=[1:10,40:50]; end;
if nargin<1 x=rand(1,21); end;

% SOME DFINITIONS
y_break_width = y_break_end - y_break_start;
y_break_mid   = y_break_width./2 + y_break_start;
y_range       = range(y);

% LOSE THE DATA IN THE BREAK, WE DON'T NEED IT ANYMORE
i =  y>y_break_start & y x(i)=[];
y(i)=[];

% MAP THE DATA
i = y >= y_break_end;
y2 = y - i.*y_break_width;

% PLOT THE MAPPED DATA
h    = plot(x,y,'.');
ylim = get(gca,'ylim');
h    = plot(x,y2,'.');
set(gca,'ylim',ylim-[0 y_break_width]);

% CREATE THE "BREAK" EFFECT
xlim = get(gca,'xlim');
xtick      = get(gca,'XTick');
ytick      = get(gca,'YTick');
yticklabel = get(gca,'yticklabel');

y_gap_width = y_range ./ y_arbitrary_scaling_factor;
y_half_gap = y_gap_width./2;
y_gap_mid  = y_break_start + y_half_gap;
switch break_type
   case 'Patch', i =  10.0;
   case 'RPatch',i = 100.0;
   case 'Line',  i =   2.0;
end;
x_half_tick = diff(xlim(1:2))./i;
switch break_type
   case {'Patch','RPatch'},
       xx = xlim(1) + x_half_tick.*[0:i];
       switch break_type
           case 'Patch',yy = repmat( ...
                   [y_gap_mid+y_half_gap y_gap_mid-y_half_gap],1,floor(i./2));
                   if length(yy)            case 'RPatch',yy = y_gap_mid + rand(101,1).*y_gap_width - y_half_gap;
       end;
       patch([xx(:);flipud(xx(:))], ...
           [yy(:)+y_half_gap ; flipud(yy(:)-y_half_gap)], ...
           [.8 .8 .8])
   case 'Line',
       x_half_tick = diff(xtick(1:2))./2;
       xx = [xlim(1) xlim(1)+x_half_tick];
       for i=0:2:2
           line(xx,y_gap_mid+([-1 2]+i).*y_gap_width./2);
       end;
end;
set(gca,'xlim',xlim);

% MAP TICKS BACK
i_wrong_ticks = ytick > y_break_start;
ytick = ytick + i_wrong_ticks.*y_break_width;
integer_ticks = all(floor(ytick) == ytick);
label_width = size(yticklabel,2);
if integer_ticks
   format_string = sprintf('%%%dd\n',label_width);
else
   left_side = ceil(log10(max(ytick)));
   right_side = label_width-left_side-1;
   format_string = sprintf('%%%d.%df\n',label_width,right_side);
end;
set(gca, 'yticklabel', num2str(ytick'));

[ Last edited by sogooda on 2012-3-25 at 09:11 ]
8楼2012-03-25 08:29:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiexieliutao

金虫 (正式写手)

引用回帖:
8楼: Originally posted by sogooda at 2012-03-25 08:29:20:
帮你看了一下,找到一个非matlab自带的函数可用。供参考吧。


function h=BreakPlot(x,y,y_break_start,y_break_end,break_type,y_arbitrary_scaling_factor)
% BreakPlot(x,y,y_break_start,y_break_end,br ...

o my god
9楼2012-03-25 17:40:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiexieliutao

金虫 (正式写手)

引用回帖:
7楼: Originally posted by zyj8119 at 2012-03-25 08:25:00:
可以的,我师兄就画过!

求解 求解啊~~
10楼2012-03-25 17:40:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xiexieliutao 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 申博/考博 +3 啃面包的小书虫 2026-04-17 4/200 2026-04-17 23:54 by 阳阳阳^_^
[论文投稿] 有没有接收比较快的sci期刊呀,最好在一个月之内的,研三孩子求毕业 20+4 之护着 2026-04-16 5/250 2026-04-17 10:02 by bobvan
[考研] 300求调剂 +11 橙a777 2026-04-15 11/550 2026-04-16 22:43 by cfdbai
[考研] 26药学专硕105500求调剂 +6 喽哈加油 2026-04-13 7/350 2026-04-16 14:31 by zhouxiaoyu
[考研] 322求调剂 +8 123安康 2026-04-12 15/750 2026-04-16 11:07 by Espannnnnol
[考研] 药学求调剂 +14 喽哈加油 2026-04-14 16/800 2026-04-16 10:15 by beilsong20
[考研] 290调剂生物0860 +38 哇哈哈,。 2026-04-11 44/2200 2026-04-16 09:52 by cuisz
[考研] 279学硕食品专业求调剂院校 20+7 孤独的狼爱吃羊 2026-04-12 29/1450 2026-04-16 09:00 by screening
[考研] 085404 22408 309分求调剂 +9 lzmk 2026-04-14 10/500 2026-04-15 20:02 by 学员JpLReM
[考研] 调剂 +12 月@163.com 2026-04-11 12/600 2026-04-14 15:37 by zs92450
[考研] 求调剂 +12 何气正 2026-04-13 13/650 2026-04-14 14:47 by zs92450
[考研] 085408光电信息工程专硕355一志愿长春光机所调剂 +6 王ymaa 2026-04-13 13/650 2026-04-14 11:33 by 王ymaa
[考研] 085600材料与化工349分求调剂 +16 李木子啊哈哈 2026-04-12 17/850 2026-04-14 09:11 by fenglj492
[考研] 305求调剂 +8 玛卡巴卡boom 2026-04-11 8/400 2026-04-14 09:04 by pengliang8036
[考研] 一志愿中南大学 0855 机械 286 求调剂 +11 不会吃肉 2026-04-12 11/550 2026-04-13 21:59 by bljnqdcc
[考研] 一志愿085802 323分求调剂 +13 drizzle_9 2026-04-12 14/700 2026-04-13 10:26 by Faiz5552
[考研] +10 李多米lee. 2026-04-12 11/550 2026-04-12 22:58 by yuyin1233
[考研] 一志愿浙大生物325分求调剂 +9 zysheng 2026-04-12 9/450 2026-04-12 22:31 by yuyin1233
[考研] 一志愿厦大0856,306求调剂 +15 Bblinging 2026-04-11 15/750 2026-04-11 22:53 by 314126402
[考研] 359求调剂 +5 胃痉挛累了 2026-04-11 5/250 2026-04-11 19:55 by lbsjt
信息提示
请填处理意见