Hot answers tagged

11

This should do it: Plot[Tan[x], {x, -2 π, 2 π}, Exclusions -> Range[-3 π/2, 3 π/2, π], ExclusionsStyle -> Directive[Gray, Dashed, Arrowheads[{}]], PlotStyle -> Arrowheads[0.04 {-1, 1}], Ticks -> {Range[-2 π, 2 π, π/2], Automatic}] /. Line -> Arrow


10

Given $d\in\mathbb{N}_0$, the Taylor series about $i/2^d$ is a polynomial of degree at most $d$ for all $i\in\mathbb{Z}$. Let $S_d$ be the set of such Taylor series. There exist unique polynomials $pol_0,pol_1,\ ...\ ,pol_d$ of degree $0,1,\ ...\ ,d$ and a function $c:\mathbb{N}\times\mathbb{R}\mapsto\{-1,0,1\}$ such that for all $x\in\mathbb{R}$, the ...


10

You can use Extrusion: S1 = Plot3D[-69*(Cosh[(3*x)/299] - 1) + 200, {x, -200, 200}, {y, -1, 1}, Mesh -> None, BoxRatios -> {1, .1, 1}, ColorFunction -> "Rainbow", PlotPoints -> 40, Extrusion -> 10]; Show[{S1}, Boxed -> False, Axes -> False] Related: Sharp Edges in ContourPlot3D with Thickness setting


9

Here's my take: lbl = {"Construction Foreman", "Tile & Marble Setter", "Bricklayer", "Stonemason", "Apprentice Tile & Marble Setter", "Apprentice Bricklayer", "Apprentice Stonemason", "Helper/Finisher"}; ef[pts_List, e_] := {Arrowheads[{{0.05, RandomReal[{0.5, 0.7}]}}], Arrow[pts]} vc = ({2, 1}*#) & /@ {{6, 9}, {3, 6}, {6, 6}, {9, ...


7

When you are using Eigenvalues[H] inside Plot it is evaluated each time for an x, and depending on the matrix the order of the eigenvalues may change as well. Evaluate it before and then plot H = {{x, -1}, {1, -x}}; ev = Eigenvalues[H] Plot[ev, {x, -4, 4}] $\left\{-\sqrt{x^2-1},\sqrt{x^2-1}\right\}$ Or you can try to Sort it Plot[Sort[Eigenvalues[...


6

Inspecting the code for the function System`BarFunctionDump`boxplot, it looks like you can access the fence specs -- (.8, None) in your example -- using Charting`ChartStyleInformation["Fence"] inside your cef. More generally, all box and whiskers specifications, "Color", "BarOrigin", "Outliers", "BoxRange" etc., can be accessed using Charting`...


6

Just for fun, here is a variation of C. E.'s animation, which demonstrates that an epicycloid can be constructed as an envelope of the diameter of a rolling circle: With[{n = 3, r = 1, m = 31}, Animate[ParametricPlot[ReIm[(n + 1) r E^(I t) - r E^(I (n + 1) t)], {t, 0, 2 Denominator[n] π}, Axes -> None, ...


6

Using custom Arrowheads (instead of Epilog) may be slightly more flexible: ah1 = Arrowheads[{{-0.05}, {0.015, 1, Graphics@{EdgeForm[Blue], White, Disk[]}}}]; ah2 = Arrowheads[{{0.05, 1}, {0.015, 0, Graphics@ Disk[]}}]; pw = Piecewise[{{-x^2, x < 1}, {x + 1, x >= 1}}]; This can be used with a combination of MeshFunctions and MeshShading: Plot[pw, {...


5

Use Table old[τ_] := Sin[τ] new[α_, χ_, τ_] := Sin[α τ]^2 + Cos[χ τ]^2 result = Table[Plot3D[ new[α, χ, τ] - old[τ], {α, 0, 2 π}, {χ, 0, π}, MaxRecursion -> 0, AxesLabel -> Automatic] , {τ, 1/10, 1, 1/10}] Export["result.gif", result] Or use Animate Animate[Plot3D[ new[α, χ, τ] - old[τ], {α, 0, 2 π}, {χ, 0, π}, MaxRecursion -> 0, ...


5

I tested on 10.2 and 10.4. I recommend just using the tick labels from some other plot and overlaying the data using Show. With minimal changes to your example I got following proof of principle. plist = {#, 1. Log[#! + 1]} & /@ {.1, .5, 1, 5, 10, 50, 100, 500, 1000, 5000, 10000, 50000, 100000}; Show[{LogLogPlot[0, {x, .1, 10^5}, PlotRange -&...


5

a bit of a hack.. ipart = 0; Plot[Piecewise[{{-x^2, x < 1}, {x + 1, x >= 1}}], {x, -2, 3}, PlotStyle -> Blue, Epilog -> {Blue, Arrowheads[{-0.02, 0.02}], PointSize[Large], Point[{{1, -1}, {1, 2}}], {White, PointSize[Medium], Point[{1, -1}]}}, AxesLabel -> {"x", "y"}, PlotRange -> {{-2.5, 3}, {-4.5, 4}}, GridLines -&...


5

Nice find. I think that this is simply giving the equivalent of a DataRange over the z (density) values. Put another way it is providing the third parameter of Rescale: That lets us conveniently do something like this: DensityPlot[ x, {x, -12, 0}, {y, -1, 1} , ColorFunctionScaling -> {385, 745} , ColorFunction -> "VisibleSpectrum" ] ...


5

VertexCoordinateRules apply to elements in the absolute order given, so by leading with 2 in 2 -> 1 you need to give its coordinate first. titles = {"Construction Foreman", "Tile & Marble Setter", "Bricklayer", "Stonemason", "Apprentice Tile & Marble Setter", "Apprentice Bricklayer", "Apprentice Stonemason", "Helper/Finisher"}...


5

You can also change Lines to Arrows using PlotStyle as follows: Plot[Tan[x], {x, -2 π, 2 π}, Exclusions -> Range[-3 π/2, 3 π/2, π], ExclusionsStyle -> Directive[Gray, Dashed], PlotStyle -> ({Arrowheads[{-.05, .05}], Arrow @@ #} &), Ticks -> {Range[-2 π, 2 π, π/2], Automatic}]


5

Try setting TextPadding -> True. It does more or less the same as the builtin ContentPadding. It is described in SciDrawGuide.pdf. What ContentPadding -> True does, in simple terms, is that it makes the enclosing box have a vertical size equal to a full line height. Otherwise the box has the same height as the enclosed character/text. SciDraw ...


4

Here is one way to convert the ticks into the desired format: ListLogLogPlot[plist, PlotRange -> {{.1, 10^5}, {10^-1, 10^6}}, Joined -> True] /. {v_, t_?NumberQ, l1_, {AbsoluteThickness[0.1]}} :> {v, NumberForm[N@t, NumberFormat -> (Superscript[#2, #3] &), ExponentFunction -> (# &)], l1, {AbsoluteThickness[0.1]}} With ...


4

Use PadLeft[]: ArrayPlot[PadLeft[Array[Function[n, IntegerDigits[n, 2]], 5], Automatic, None], Background -> None, ColorRules -> {0 -> Gray, 1 -> Black}, Frame -> False, Mesh -> True]


3

This should give you a starting point: opt = {PlotStyle -> Orange, AxesLabel -> {"\[Mu]s", "V"}, ImageSize -> 300} Manipulate[ Plot[Sin[10/x], {x, 0, 5}, PlotRange -> {xInt, {vMin, vMax}}, Evaluate[opt]], {{vMax, 0}, -1, 1, VerticalSlider, Appearance -> "Labeled"}, {{vMin, -1}, -1, 1, VerticalSlider, Appearance -> "Labeled"}, {{xInt,...


3

Your idea is to pick a value to the left if the function is decreasing and a value to the right if the function is increasing because then you'll get a value that's slightly larger. In order to get the flat line over the tops you might instead look for the maximum value in the neighborhood of the current position, it will be the same for the increasing and ...


3

I removed the TableForm and the highest level {}, then set it equal to data. If I understand your question correctly, TemporalData does what you want (but for distance not time in this case). data = Import["Book2.csv"]; {row, col} = Dimensions[data]; x = data[[All, 1]]; y = Transpose@Table[data[[i, 2 ;; col]], {i, 1, row}]; tempData = TemporalData[y, {x}...


3

Using the formulae from here, here is a way to plot the loxodrome of a general surface of revolution, specialized to the spherical case: With[{α = π/4}, (* angle from the latitude *) f[u_] := Cos[u]; g[u_] := Sin[u]; lox = DSolveValue[{l'[u] == Cot[α] (Sqrt[#.#] &[{f'[u], g'[u]}])/f[u], l[0] == -π/2}, l, u]; Show[...


3

There are some things that bother me in Johu's solution, so I am offering this alternative, which seems both simpler and better to me. This works with versions of Mathematica older than V10. RAveList = RandomReal[1, {11, 5}]; colors = ColorData[97]; labels = Row[{#, "-clusters"}] & /@ Range[2, 12]; ListPlot[Thread[Tooltip[RAveList, labels]], Joined -&...


3

Your example has several problems, why people can not directly run it. For example you have not provided RAveList and you use it as it was a function. I assume it is an array, but the answer can be easily adjusted. Here is an example of the labels you wanted. RAveList = RandomReal[1, {25, 5}]; selection = 2 ;; 15; labels = Array[StringTemplate["``-clusters"]...


3

Use Part to subtract intensity and Transpose to align with the wavelength data: wavelength = Range[350, 750, (400/3647)]; withMagnet = Transpose[{wavelength, RandomReal[1, 3648]}]; withoutMagnet = Transpose[{wavelength, RandomReal[1, 3648]}]; (*The above code just simulates your imported data*) diff = Transpose[{withoutMagnet[[All, 1]], ...


3

I would try RegionPlot3D for this kind of work, depending on exactly what you're trying to generate (could we get more details?). For example, you could try something like: S1 = RegionPlot3D[-69*(Cosh[(3*x)/299] - 1) + 195 <= z <= -69*(Cosh[(3*x)/299] - 1) + 205, {x, -200, 200}, {y, -1, 1}, {z, 0, 205}, BoxRatios -> {1, .1, 1}, ColorFunction -&...


2

Using custom tick labels still works, but one has to use the logarithmic label position, as this conversion is no longer done automatically for custom tick labels. ListLogLogPlot[plist, PlotRange -> {{.1, 10^5}, {10^-1, 10^6}}, Ticks -> {Table[{N@Log[10^i], Superscript[10, i]}, {i, -1, 5}], Table[{N@Log[10^i], Superscript[10, i]}, {i, -1,...


2

It does seem possible to change a bond cutoff length using built-in functions, as mentioned by Szabolcs in comments, via something like Import["ExampleData/caffeine.xyz", "XYZ", "InferBondsMinDistance" -> #] & /@ {10000, 15000, 20000} But I have no idea what units those are supposed to be. They aren't ångströms (which the "XYZ" files are ...


2

(Extended comment) Here is the solution exposed in this answer adapted to your problem : y[w_] = 0.32 DiracDelta[(2.495*10^-21) + 1.054*10^-50 w] + 1.19 DiracDelta[(1.979*10^-20) + 1.054*10^-58 w] ti00 = Collect[y[w], DiracDelta[_], coeff] ti01 = ti00 /. coeff[c_] DiracDelta[exp_] :> With[{ww = w /. Last[Solve[exp == 0, {w}]]}, Line[{{...


2

You can use Round to get rid of small component. Round[1. + 10.^-5 I, 10.^-6] $1. + 0.00001 \rm I$ Round[1. + 10.^-5 I, 10.^-3] $1.$ For your code y[w_,n_]= Round[0.32 DiracDelta[(2.495*10^-21 + 0. I) + 1.054*10^-50 w] + 1.19 DiracDelta[(1.979*10^-20 + 0. I) + 1.054*10^-58 w],10.^-n]; to eliminate numbers less than 10^-n How to ...


2

Some magic for your entertainment: Range[5] ~IntegerDigits~ 2 + 1 // Block[{PadRight = PadLeft}, ArrayPlot[#, Mesh -> True]] &



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