11
$\begingroup$

I'm sure this must have been asked before but I am unable to find anything here on SE or on Google in general.

I simply want to know what the default color and thickness are for a Frame on a Plot and for the Axes.

Looking in the help seems to send me down a rabbit hole of,

The default style of axes is specified by the option DefaultAxesStyle.

For Graphics, the default setting is DefaultAxesStyle->"GraphicsAxes"

And although I can use GraphicsAxes as an option value, eg FrameStyle->"GraphicsAxes" I still can't discover what the actual shade of gray and line thickness that is. Are these deliberately hidden somewhere, or I am not looking hard enough?

Many thanks,

$\endgroup$
  • $\begingroup$ Have a look here Is there a method to look inside at the internal code of Built-In functions?, is this helpful? $\endgroup$ – user9660 Jan 28 '16 at 16:18
  • $\begingroup$ Good question. If you look at FullForm[Plot[Sin[x], {x, 0, 1}, Frame->True] or leave the Frame off, no head contains AxesStyle or FrameStyle so I also am stuck pondering what are the color and thickness of for the defaults "GraphicsAxes" and "GraphicsFrame". $\endgroup$ – Jack LaVigne Jan 28 '16 at 17:03
14
$\begingroup$

Hunting through the stylesheets is effective, but does not necessarily give you the current value being used if it has been modified. Instead, use

CurrentValue[{StyleDefinitions , "GraphicsAxes"}]
(* {Arrowheads -> {}, LineColor -> GrayLevel[0.4], Thickness -> Absolute[0.2]} *)

CurrentValue[{StyleDefinitions , "GraphicsFrame"}]
(* {LineColor -> GrayLevel[0.4], Thickness -> Absolute[0.5]} *)
$\endgroup$
  • $\begingroup$ Nice code! I just tried to help myself and applied CurrentValue[{StyleDefinitions, "FrameTicksStyle"}] to get the values from a ListDensityPlotit brings {} What am I doing wrong? $\endgroup$ – Kay Apr 11 '16 at 13:30
  • $\begingroup$ @Kay if you notice, the query is not "AxesStyle" or "FrameStyle", but "GraphicsAxes" and "GraphicsFrame". Extrapolating from that, you're looking for "GraphicsFrameTicks", not "FrameTicksStyle", and you get {ScriptLevel -> 1, LineColor -> GrayLevel[0.4]}, in 10.4. $\endgroup$ – rcollyer Apr 11 '16 at 13:50
  • $\begingroup$ right! thank you! $\endgroup$ – Kay Apr 11 '16 at 14:28
9
$\begingroup$

The styles "GraphicsAxes" and "GraphicsFrame" are defined in the stylesheet "Core.nb".

  • To access to this file use the menu : format/edit stylesheet
  • Then in the notebook that appears click on Default.nb
  • In the new notebook that appears click on Core.nb
  • Then the notebook core.nb appears.
  • Go to section :"style for Mathematica System-specific Elements" and open it
  • Go to the cell "default Box style" and open it
  • Go to "Local definition for style Graphics"
  • Select the cell "GraphicsAxes"
  • Do Control-Shift-E (on Windows, otherwise you can use the menu : Cell/ShowExpression)
  • Then you see :

    Cell[StyleData["GraphicsAxes"], Arrowheads->{}, LineColor->GrayLevel[0.4], Thickness->Absolute[0.2]]

This is the internal structure of the cell. One can see the settings for the style "GraphicsAxes"

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.