New answers tagged

2

I figured out a solution: I needed to set the Mesh option to be higher. In this case, Mesh->100 worked fine.


4

If your plot spans several orders of magnitude, you might also consider using a logarithmic scale, as in these examples. {min, max} = {1/100, 1}; sf = Log[#/min]/Log[max/min] &; isf = InverseFunction@sf; StreamPlot[ {-(y/(2 \[Pi] (x^2 + y^2))), x/(2 \[Pi] (x^2 + y^2))}, {x, -3, 3}, {y, -3, 3}, StreamColorFunctionScaling -> False, ...


4

One possible solution bar = BarLegend[{(ColorData["Rainbow", #] &), {1/(2 Pi Sqrt[3^2] ), 1/(2 Pi Sqrt[0.15^2])}}]; StreamPlot[{-(y/(2 \[Pi] (x^2 + y^2))), x/(2 \[Pi] (x^2 + y^2))}, {x, -3, 3}, {y, -3, 3}, StreamColorFunction -> (ColorData["Rainbow", 1/( Norm[{#1, #2}])] &), PlotLegends -> Placed[bar, Below], ...


1

First,with only 3 points you can only use "InterpolationOrder->1". Toward this aim I create new "intensity" data and function "f" like (note the point at the north pole is double, what will not harm): dat = Flatten[Table[{{th, ph}, th ph}, {th, 0, Pi/2}, {ph, 0, Pi/2}], 1]; f = Interpolation[dat, InterpolationOrder -> 1]...


7

One method would be to use a logarithmic scale for the arrow colors. Unfortunately it seems that StreamPlot does not support ScalingFunctions, but you can build your own color scale and legend by slightly adapting this answer, {min,max}={0.3,990}; sf=Log[#/min]/Log[max/min]&; isf=InverseFunction@sf; StreamPlot[ EField[x, y, -R, 0, 2] + EField[x, y, x2,...


3

I assume your data consist of triplets: {x,y,color}. For an example, we create some data: SeedRandom[10]; dat = RandomInteger[{0, 12}, {20, 3}]; We use ListPlot to display the data and color the points using ColorFunction. As ColorFunction only receive {x,y}, we need to look up the third element of the triple: SeedRandom[10]; dat = RandomInteger[{0, 12}, {...


0

The data points in the x- and y-axes. x = {1, 2, 3, 4}; y = {1, 2, 3, 4}; Create the list to be plotted z = Thread[{x, y}] One way: ListPlot[{#} & /@ z, PlotStyle -> list2] A second way: ListPlot[{{Style[z[[1]], Green]}, {Style[z[[2]], Purple]}, {Style[ z[[3]], Red]}}, PlotStyle -> PointSize[0.02]] A third way: Graphics[Prepend[Riffle[list2,...


4

Using a slight modification of this answer: ClearAll[pCurve] pCurve[f_, width_: 1/2][x_, u_] := {x, f@x} + (1-2 u) width/2 Cross@Normalize[{1, f'@x}] colorFunc[color_: Red] := Blend[{color, White, color}, #4] &; Examples: f1[x_] := x f2 = # Sin@# &; color = Darker@Cyan; ParametricPlot[pCurve[f1][x, t], {x, -3, 3}, {t, 0, 1}, BoundaryStyle ->...


6

It's possible to make textured lines like in this answer and you could use the linear gradient texture from my other answer on glowing graph edges. However, if you need curves, a lot of textured lines (actually polygons) will have gaps and it looks bad. For something like a scope trace for curves, as mentioned in the comments, it might be better to go with a ...


2

Plot[x, {x, -1, 1}, PlotStyle -> Thickness[0.04], Background -> Darker@Cyan, ColorFunction -> (Opacity[4 (#1 - #1^2), White] &) ]


2

The values of the elements in your matrix T are significant for three elements, and the rest of all are close to zero. However, In your figure where colorfunction scaling is true, T(1,2) and T(1,4) are nearly of the same color which shouldn't be the case as T(1,4) is close to to zero. For a threshold of 10^-3 the matrix elements are as T={{1., 0.141737, ...


0

It looks like the entries of my matrix are very small. The bar that I whis is given by ColorFunctionScaling -> False in the instructions of MatrixPlot.


Top 50 recent answers are included