Contour Edge of Plot Issue

4 Ansichten (letzte 30 Tage)
Brendan Whalen
Brendan Whalen am 8 Jun. 2020
Beantwortet: Walter Roberson am 10 Jun. 2020
I am attempting to plot temperature at different locations in an x-z crosssection. For some reason the contour plot seems to have issues handling the edge of the plot where the contour lines end. Here is a picture of what it looks like (the issue can be seen on the left edge of the plot):
The issue becomes worse as the plot is restricted in size and more contours hit the left edge. I've also attached the code that I am running.
  2 Kommentare
Walter Roberson
Walter Roberson am 8 Jun. 2020
Are you referring to the fact that the lines appear to touch? That can happen with sufficiently steep gradient with plots that are not zoomed in sufficiently far.
Brendan Whalen
Brendan Whalen am 8 Jun. 2020
I am referring to the fact that the contour on the lowest contour does not end at the edge of the plot. Here is another image where 2 contour lines can be seen with the same issue when they hit the left edge of the plot:

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Walter Roberson
Walter Roberson am 10 Jun. 2020
[W,Z] = meshgrid(WD,ZD);
Your WD and ZD each have duplicates inside them. Your resulting W and Z have duplicates. You griddata() at those places, so you get duplicate outputs.
You should be doing something like
N = 500;
minWD = min(WD); maxWD = max(WD);
minZD = min(ZD); maxZD = max(ZD);
WD_vec = linspace(minWD, maxWD, N);
ZD_vec = linspace(minZD, maxZD, N);
[W, Z] = meshgrid(WD_vec, ZD_vec);
Or if you prefer compactness
[W, Z] = meshgrid( linspace(min(WD), max(WD), N), linspace(min(ZD), max(ZD), N));

Kategorien

Mehr zu Contour Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by