Remove common factor from axis

3 views (last 30 days)
Pierce Brady
Pierce Brady on 2 Aug 2011
Hey, I'm trying to remove the common factor from the axis of a plot.
This is what i'm doing. (its a custom color bar)
cX = [1 2];
cY = repmat(linspace(1,8e6,256),2,1).';
h.figure = figure;
h.panel = uipanel('Parent',h.figure);
h.axes = axes('Parent',h.panel);
h.surf = surf('Parent',h.axes,'XData',cX ,'YData',cY,'ZData',cY,'CData',cY);
set(h.surf,'Facecolor','interp','Edgecolor','none')
set(h.axes,'View',[90 90]...
,'XTick',[],'XTickLabel',[]...
,'ZTick',[],'ZTickLabel',[]...
,'YTick',(1:8)*1e6,'YTickLabel',{'1M','2M','3M','4M','5M','6M','7M','8M'}...
,'YLim',[min(cY(:)) max(cY(:))])
Now the final plot has
1M 2M ... 8M 1x10^6
along the axis
I would like the axis to just be
1M 2M ... 8M
without the common factor of 1x10^6
Can anyone help me achieve this.
  1 Comment
Jan
Jan on 2 Aug 2011
Please use code formatting. See the "{} Code" button and the "? Markup" link.

Sign in to comment.

Answers (2)

Kelly Kearney
Kelly Kearney on 2 Aug 2011
Change the renderer from OpenGL to zbuffer.
set(gcf, 'renderer', 'zbuffer');
Why this fixes the problem, I really have no idea. But I encounter it a lot when I add dateticks to my axes. Not sure if it's intended behavior or a bug, but most renderers eliminate the factor when manual tick labels are added; OpenGL does not (or at least doesn't always).

Pierce Brady
Pierce Brady on 2 Aug 2011
Problem half sorted.
cX = [1 2];
cY = repmat(linspace(1,8,256),2,1).';
cZ = repmat(linspace(1,8e6,256),2,1).';
h.figure = figure;
h.panel = uipanel('Parent',h.figure);
h.axes = axes('Parent',h.panel);
h.surf = surf('Parent',h.axes,'XData',cX,'YData',cY,'ZData',cZ,'CData',cZ);
set(h.surf,'Facecolor','interp','Edgecolor','none')
set(h.axes,'View',[90 90]... ,'XTick',[],'XTickLabel',[]...
,'ZTick',[],'ZTickLabel',[]...
,'YTick',(1:8),'YTickLabel',... {'1M','2M','3M','4M','5M','6M','7M','8M'}...
,'YLim',[min(cY(:)) max(cY(:))])
Doing this i avoid the common factor, but i'd still like to know how to remove the 1x10^6 without changing the magnitude of the data

Categories

Find more on Graphics Object Programming in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!