要将所有2D绘图设置为选项Frame->True
,我将以下内容添加到我的" init.m":
(SetOptions[#, Frame -> True]&)/@{Plot,ListPlot,ListLinePlot,LogPlot,LogLogPlot,LogLinearPlot};
这看起来很尴尬,我从未在列表中找到所有不同的情节。
我是否有更简单/更好的方法来设置这些选项 en masse ?
谢谢!
答案 0 :(得分:0)
这会查找名称中包含Plot
且Frame
选项的所有内置内容:
Select[Symbol /@ Names["System`*Plot*"] ,
MemberQ[Options[#] , Frame -> _] & ]
{ArrayPlot, BodePlot, CommunityGraphPlot, ContourPlot, \ DateListLogPlot, DateListPlot, DensityPlot, DiscretePlot, GraphPlot, \ LayeredGraphPlot, LineIntegralConvolutionPlot, ListContourPlot, \ ListCurvePathPlot, ListDensityPlot, ListLineIntegralConvolutionPlot, \ ListLinePlot, ListLogLinearPlot, ListLogLogPlot, ListLogPlot, \ ListPlot, ListPolarPlot, ListStreamDensityPlot, ListStreamPlot, \ ListVectorDensityPlot, ListVectorPlot, LogLinearPlot, LogLogPlot, \ LogPlot, MatrixPlot, NicholsPlot, NyquistPlot, ParametricPlot, Plot, \ PolarPlot, ProbabilityPlot, ProbabilityScalePlot, QuantilePlot, \ RegionPlot, ReliefPlot, RootLocusPlot, SingularValuePlot, \ StreamDensityPlot, StreamPlot, TreePlot, VectorDensityPlot, \ VectorPlot, WaveletListPlot, WaveletMatrixPlot}
所以你可以简单地使用你的方法:
SetOptions[#, Frame -> True]&/@Select[Symbol /@ Names["System`*Plot*"],
MemberQ[Options[#] , Frame -> _] & ];
如果您要扩展到名称中没有Plot
的内容,则需要使用Quiet
,因为当您请求选项时,少数符号会发出警告:
Select[Symbol /@ Names["System`*"] ,
MemberQ[Quiet@Options[#] , Frame -> _] & ]
公平警告我不知道更改所有内容的默认值的后果..