is it possible to change the colors of the numbers in the axes?

151 ビュー (過去 30 日間)
Muhendisleksi
Muhendisleksi 2018 年 2 月 3 日
コメント済み: Walter Roberson 2018 年 2 月 4 日

採用された回答

Image Analyst
Image Analyst 2018 年 2 月 3 日
There are so many properties you can set. for example:
plot(1:10);
ax = gca;
get(ax) % Display what properties we can alter
ALim: [0 1]
ALimMode: 'auto'
ActivePositionProperty: 'outerposition'
AmbientLightColor: [1 1 1]
BeingDeleted: 'off'
Box: 'on'
BoxStyle: 'back'
BusyAction: 'queue'
ButtonDownFcn: ''
CLim: [0 1]
CLimMode: 'auto'
CameraPosition: [5.5000 5.5000 17.3205]
CameraPositionMode: 'auto'
CameraTarget: [5.5000 5.5000 0]
CameraTargetMode: 'auto'
CameraUpVector: [0 1 0]
CameraUpVectorMode: 'auto'
CameraViewAngle: 6.6086
CameraViewAngleMode: 'auto'
Children: [1×1 Line]
Clipping: 'on'
ClippingStyle: '3dbox'
Color: [1 1 1]
ColorOrder: [7×3 double]
ColorOrderIndex: 2
CreateFcn: ''
CurrentPoint: [2×3 double]
DataAspectRatio: [4.5000 4.5000 1]
DataAspectRatioMode: 'auto'
DeleteFcn: ''
FontAngle: 'normal'
FontName: 'Helvetica'
FontSize: 10
FontSmoothing: 'on'
FontUnits: 'points'
FontWeight: 'normal'
GridAlpha: 0.1500
GridAlphaMode: 'auto'
GridColor: [0.1500 0.1500 0.1500]
GridColorMode: 'auto'
GridLineStyle: '-'
HandleVisibility: 'on'
HitTest: 'on'
Interruptible: 'on'
LabelFontSizeMultiplier: 1.1000
Layer: 'bottom'
Legend: [0×0 GraphicsPlaceholder]
LineStyleOrder: '-'
LineStyleOrderIndex: 1
LineWidth: 0.5000
MinorGridAlpha: 0.2500
MinorGridAlphaMode: 'auto'
MinorGridColor: [0.1000 0.1000 0.1000]
MinorGridColorMode: 'auto'
MinorGridLineStyle: ':'
NextPlot: 'replace'
OuterPosition: [0 0 1 1]
Parent: [1×1 Figure]
PickableParts: 'visible'
PlotBoxAspectRatio: [1 0.7903 0.7903]
PlotBoxAspectRatioMode: 'auto'
Position: [0.1300 0.1100 0.7750 0.8150]
Projection: 'orthographic'
Selected: 'off'
SelectionHighlight: 'on'
SortMethod: 'childorder'
Tag: ''
TickDir: 'in'
TickDirMode: 'auto'
TickLabelInterpreter: 'tex'
TickLength: [0.0100 0.0250]
TightInset: [0.0363 0.0532 0.0134 0.0202]
Title: [1×1 Text]
TitleFontSizeMultiplier: 1.1000
TitleFontWeight: 'bold'
Type: 'axes'
UIContextMenu: [0×0 GraphicsPlaceholder]
Units: 'normalized'
UserData: []
View: [0 90]
Visible: 'on'
XAxis: [1×1 NumericRuler]
XAxisLocation: 'bottom'
XColor: [0.1500 0.1500 0.1500]
XColorMode: 'auto'
XDir: 'normal'
XGrid: 'off'
XLabel: [1×1 Text]
XLim: [1 10]
XLimMode: 'auto'
XMinorGrid: 'off'
XMinorTick: 'off'
XScale: 'linear'
XTick: [1 2 3 4 5 6 7 8 9 10]
XTickLabel: {10×1 cell}
XTickLabelMode: 'auto'
XTickLabelRotation: 0
XTickMode: 'auto'
YAxis: [1×1 NumericRuler]
YAxisLocation: 'left'
YColor: [0.1500 0.1500 0.1500]
YColorMode: 'auto'
YDir: 'normal'
YGrid: 'off'
YLabel: [1×1 Text]
YLim: [1 10]
YLimMode: 'auto'
YMinorGrid: 'off'
YMinorTick: 'off'
YScale: 'linear'
YTick: [1 2 3 4 5 6 7 8 9 10]
YTickLabel: {10×1 cell}
YTickLabelMode: 'auto'
YTickLabelRotation: 0
YTickMode: 'auto'
ZAxis: [1×1 NumericRuler]
ZColor: [0.1500 0.1500 0.1500]
ZColorMode: 'auto'
ZDir: 'normal'
ZGrid: 'off'
ZLabel: [1×1 Text]
ZLim: [-1 1]
ZLimMode: 'auto'
ZMinorGrid: 'off'
ZMinorTick: 'off'
ZScale: 'linear'
ZTick: [-1 0 1]
ZTickLabel: ''
ZTickLabelMode: 'auto'
ZTickLabelRotation: 0
ZTickMode: 'auto'
The colors are in the range of 0-1 and in order r, g, b. So for example, red would be [1,0,0]. So to make a font size of 20 with the x labels being red and the y labels being blue, you'd add these lines:
ax.FontSize = 20;
ax.XColor = [1, 0, 0]; % X labels are red.
ax.YColor = [0, 0, 1]; % Y labels are blue.
  1 件のコメント
Walter Roberson
Walter Roberson 2018 年 2 月 4 日
Note that changing the XColor and YColor change the color of the lines and tick marks as well.

サインインしてコメントする。

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2018 年 2 月 3 日
Yes, you can change your XTickLabel or YTickLabel to something that includes latex color specification. https://www.mathworks.com/matlabcentral/answers/278997-matlab-label-with-different-colors-on-the-string-using-latex-interpreter#answer_282116
With relatively recent MATLAB versions, there is also an axes XRuler and YRuler TickLabelFormat property that you can set to an fprintf / sprintf style format string, instead of having to create the XTickLabel or YTickLabel entries yourself. Using TickLabelFormat also has the advantage that if you zoom or pan that the new labels would have the correct entries automatically.
ax = gca;
ax.XRuler.TickLabelFormat = '....'
  2 件のコメント
Muhendisleksi
Muhendisleksi 2018 年 2 月 3 日
I tried but not
Walter Roberson
Walter Roberson 2018 年 2 月 4 日
The top part holds what appears to be a uitable(). uitable() are not within any axes.
The bottom part holds a plot in which text() has been used, or possibly a graph() object had plot() applied to it. There are no axes labels in the bottom.
If you want to change the color of the text such as the 108 then if you used text() to put it there, you can change its Color property.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGraphics Object Properties についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by