We’re rewarding the question askers & reputations are being recalculated! Read more.
147

This can be done with Overlay if the ImagePadding and the horizontal range for each plot is the same. For example, plot1 = ListLinePlot[ Accumulate[RandomReal[{0, 1}, {100}]], PlotStyle -> Blue, ImagePadding -> 25, Frame -> {True, True, True, False}, FrameStyle -> {Automatic, Blue, Automatic, Automatic} ] plot2 = ...


84

Basic method There appears to be a mechanism for doing just that, though I have yet to map its capabilities. As a basic example for the time being: Themes`AddThemeRules["wizard", DefaultPlotStyle -> Thread@Directive[{Purple, Orange, Hue[0.6]}, Thick], LabelStyle -> 18, AxesStyle -> White, TicksStyle -> LightGray, Background -> ...


44

Illuminated by @Mr.Wizard's answer, here I provide a complete example of a self-made plot theme, called "Academic". It can be used as a base theme. The axes feature theme is based on the theme "AxesFrame" of "Scientific" with {Black, AbsoluteThickness[1], FontSize -> 12} axes/frames. The color feature theme is based on "VibrantColor" with modifications ...


35

As I said, it's pretty easy to adapt the TwoAxisPlot[] function given in the OP. I'll give two flavors here, named TwoAxisListPlot[] and TwoAxisListLinePlot[]: TwoAxisListPlot[{f_, g_}] := Module[{fgraph, ggraph, frange, grange, fticks, gticks}, {fgraph, ggraph} = MapIndexed[ ListPlot[#, Axes -> True, PlotStyle -> ColorData[1][#2[[...


34

Extending ColorData For some background consider reading this bookmarked conversation. The color scheme data itself is accessed through the definition of this Symbol: DataPaclets`ColorDataDump`colorSchemes The data is located by use of the list defined in: DataPaclets`ColorDataDump`colorSchemeNames That is to say the scheme is extracted using (slightly ...


32

There is an undocumented file in the installation directory named specialArgFunctions.tr: NotebookOpen @ FileNameJoin @ { $InstallationDirectory, "SystemFiles", "FrontEnd", "SystemResources" , "FunctionalFrequency", "specialArgFunctions.tr" } This file describes in detail how to attach completion actions to each parameter of listed functions. For ...


30

I wrote the ColorBar package exactly for this purpose and it makes such modifications easy. The README.m should give you all the instructions you need, but I'll summarize it here. After installing the package (copy ColorBar.m to FileNameJoin[{$UserBaseDirectory, "Applications"}]), do the following: ColorBar["TemperatureMap"] Now you can click on the left ...


27

Even though this question has been flagged as answered, I think the answers are more complicated than they need to be (with respect to the authors). I offer the following, which takes advantage of FrameTics: (*create 2 lists*) x1 = Accumulate[RandomVariate[NormalDistribution[0, 1], 100]]; x2 = 25 Accumulate[RandomVariate[NormalDistribution[0, 1], 100]]; (*...


27

Thanks to the hint by Jason. It is called AutoMultiplicationSymbol. It can be turned off in the Option Inspector: It worked. Now × does not show up. Version 11.1 on windows 7.


25

OP seems to be mostly interested in Mathematica's built-in capabilities for grammar definition, parsing, and interpretation, but I think some of the questions asked can be seen and answered within a more general development perspective. General Building on the natural language interface used with Mathematica would be a great project. Any advice if this ...


24

This is similar to my Log question and similar methods can be used. $PrePrint = # /. { Csc[z_] :> 1 / Defer@Sin[z], Sec[z_] :> 1 / Defer@Cos[z] } &; Example: (x + y) Csc[x] Sec[y] (x + y)/(Cos[y] Sin[x])


24

We can get old-style messages using Internal`$MessageMenu = False Needless to say, this is unsupported and undocumented functionality.


23

I've never seen that command before but this does work at least in version 7 on Windows: FrontEndExecute[ AddMenuCommands[ "BackgroundDialog", {Delimiter, Item["L&inen", Background -> RGBColor[0.980, 0.941, 0.902]], Item["A&liceBlue", Background -> RGBColor[0.941, 0.973, 1.0]], Item["Min&tCream", Background -> RGBColor[0....


23

You can see what can be done by running (maybe inspecting it in a browser first) Get["http://www.mertig.com/shortcuts.m"] This code will generate a modified copy of the default KeyEventTranslations.tr in : FileNameJoin[{$UserBaseDirectory, "SystemFiles", "FrontEnd", "TextResources", Switch[$OperatingSystem, "MacOSX", "Macintosh", "...


22

Revision history: v0.8.0 (06-07-2018) VerificationTest template v0.7.0 (21-02-2018) V10.4 support As of v0.7.0 code templates should work in V10.4. Yes, in a beta stage at the moment. Feedback appreciated. Should work on Win/MacOs. https://github.com/kubaPod/DevTools Setup (*additional package I use to install github assets' paclets, you ...


21

You need to add the following to KeyEventTranslations.tr: Item[KeyEvent["Tab", Modifiers -> {Control}], FrontEndExecute[FrontEndToken["CycleNotebooksForward"]]], Item[KeyEvent["Tab", Modifiers -> {Shift, Control}], FrontEndExecute[FrontEndToken["CycleNotebooksBackward"]]], This will map Control-Tab and Control-Shift-Tab to cycling between ...


21

Ok, here's a very brief toy example while I don't have access to my desktop computer at work. It's easy enough to figure out, that a LogPlot of f is basically the plot of Log[f[x]]. And A LogLinearPlot is the plot of f[Exp[x]]. But we can extend this to arbitrary scalings of the axes. I start with defining a piecewise function which maps x values between 0 ...


21

If you are comfortable using undocumented and unsupported functionality we can do this with a ScalingFunctions option as I did for ListLogLinearPlot for the whole real numbers. (* listability *) (self : fn[off_, scale_])[x_List] := self /@ x (self : invfn[off_, scale_])[x_List] := self /@ x fn[off_, scale_][x_?NumericQ] := If[x < off, Log[x], x/...


20

I have this palette open all the time: CreatePalette@Row@ { Button["(\[SelectionPlaceholder])", FrontEndExecute[ FrontEndToken[SelectedNotebook[], "SelectionParenthesize"]]], Button["[\[SelectionPlaceholder]]", FrontEndExecute[ FrontEndToken[SelectedNotebook[], "SelectionBracket"]]], Button["{\[...


19

Personally I would use what bill_s suggested, Ctrl+A followed by Shift+Enter. But if you want to have one shortcut you can use what Timothy linked. Just add this line to the KeyEventTranslations.tr file: Item[KeyEvent["h", Modifiers -> {Control}], FrontEndExecute[FrontEndToken[SelectedNotebook[ ], "EvaluateNotebook"]]] it works for me. Your ...


19

Before you start using this, be aware that this is all undocumented and unsupported functionality. It may change at any time, it may crash Mathematica, and it may bite you when you least expect it. I wouldn't be surprised if it turned out that incorrect use messes up the internal state of the front end. Use at your own risk. I tried the examples I show ...


19

Thanks for asking this question; I might not have discovered this customizable area without it. The auto-completion option values are automatically loaded on Front End start from: FileNameJoin[{$InstallationDirectory, "SystemFiles", "FrontEnd", "SystemResources", "FunctionalFrequency", "OptionValues"}] This directory contains a series of Package (.m) ...


18

You can SetOptions for the current notebook as: SetOptions[EvaluationNotebook[], Background -> LightGreen] to change the background to whatever colour you like. You can also supply an RGB colour as: SetOptions[EvaluationNotebook[], Background -> RGBColor[0.9, 0.7, 0.7]] Other possibilities for the first argument of SetOptions are $FrontEnd which ...


18

Template Notebook I sunk some time into making a good template notebook for integrating with all this. It lives here: https://github.com/b3m2a1/mathematica-BTools/blob/master/Resources/Templates/ServiceConnectionTemplate.nb Original: If you just want the code I used to generate the paclet it lives here: PacletInstall["CustomServiceConnection", "Site"-&...


17

Most compatible solution: The solutions provided are not compatible with plots that contain labels. Here's a solution with possibility to add options: TwoAxisListPlot[{f_, g_}, opts___] := Module[{fgraph, ggraph, frange, grange, fticks, gticks}, {fgraph, ggraph} = MapIndexed[ ListPlot[#, Axes -> True, PlotStyle -> ColorData[1][#2[[1]]], ...


17

Referencing Szabolcs's answer, here is the code that must be added to KeyEventTranslations.tr: Item[KeyEvent["m", Modifiers -> {Control}], FrontEndExecute[{ FrontEnd`SelectionMove[FrontEnd`SelectedNotebook[], All, Cell], FrontEnd`FrontEndToken["Clear"] }]], I chose Ctrl+M at random; change it to whatever you want. See this ...


17

Preamble I will interpret your question in the narrow context of customizibility. Most of the information can be found in the documentation, but is alas scattered over several places. Below I will attempt to assemble a single sequence, mostly using this source. Where my description deviates from it, I will put the LS sign indicating that what follows ismy ...


17

Quick-n-dirty. I dispense with open/close bracket, trivial to put in if it matters: fn = ToExpression/@ImportString[StringReplace[#, ";" -> "\n"], "Table"] &; mymat = "2 4; 3 4 5 ; 5 6" // fn mymat2 = "a b;2 c; d 5" // fn {{2, 4}, {3, 4, 5}, {5, 6}} {{a, b}, {2, c}, {d, 5}}


17

Code See this for the main issue that made it take so long to get this up If you just want the service connection you can get it like this: PacletInstall["ServiceConnection_GoogleDrive", "Site"->"http://www.wolframcloud.com/objects/b3m2a1.paclets/PacletServer" ] Post So this turned out to be a bit of a bear to get the details right for, but not ...


16

I usually press the down key until I get out of the cell, then press shift-up to select it. Here are two buttons that will select or delete the whole cell for you: select = Button["Select Cell", SelectionMove[SelectedNotebook[], All, Cell]] delete = Button["Delete Cell", SelectionMove[SelectedNotebook[], All, Cell]; FrontEndTokenExecute["Clear"]] ...


Only top voted, non community-wiki answers of a minimum length are eligible