This tutorial explains how to create Box plot in Tableau
First part of tutorial shows how to create below graphic, where the data points are within the box plot
Second part of tutorial uses Tableau's Box Plot function to create below graphic. Note how some points are located well past the Box Plot.
How is this a normal box Plot? Or is the video wrong? Please clarify
Tableau creates their boxplots by default putting whiskers at 1.5 times the inter-quartile range (IQR). Basically, this method excludes what it considers to be outliers. To adjust see Step 10 in the link below
https://onlinehelp.tableau.com/current/pro/desktop/en-us/buildexamples_boxplot.html
Related
triple axis example
Hi,
As I showed in picture attached. I have veriy simple dataset and I want to make triple axis line graph. Is it possible?
I am workin on a some sort of System test wherein i have a set of readings in the form of a .mat file.
It has a structure in the .mat file with one field as Measurement. It has several Arrays(e.g air mass flow, velocity, carbon content) which further have fields like time and value.
From these, I Need to plot the velocity and the air mass flow against time. For that i wrote the following command which gave me the corresponding plots:
plot(Measurement.(Measurement.air_mass_flow.time),Measurement.air_mass_flow.value)
plot(Measurement.(Measurement.velocity.time),Measurement.velocity.value)
Now i Need to create a script in matlab wherein i can get both the curves one under the other i.e. on the same page. Can anyone help in the Approach i should procede with ?
ok now i will further extend my question.
I have two fields as velocity and acceleration. I Need to plot it on the same curve with grids on for the comparison. But the y axis for both are different.
the velocity y-axis is: (0:20:120), which should be displayed on the left side and the acceleration y-axis is: (0:2:12) which should be displayed on the right side.
i wrote the following code for this:
plot(Measurement.(Measurement.VehV_v.time),Measurement.VehV_v.value)
grid on
set(gca,'xtick',[0:500:2000])
set(gca,'ytick',[0:20:120])
hold on
plot(Measurement.(Measurement.accel_w.time),Measurement.accel_w.value)
grid on
set(gca,'xtick',[0:500:2000])
set(gca,'ytick',[0:2:12])
Do i Need to write a function for that as i am directly reading the values from the structure.
plotyy() also doesnt seem to work
But the axis are not matching and the graph for acceleration is very small. Could anyone help me out with this ?
I also want to add a Picture of the Graphs here but unfortunately there is some error here. I hope the question is clear without the Picture.
Yes you can use the subplot command, e.g.:
figure
subplot(1,2,1)
plot(Measurement(Measurement.air_mass_flow.time),Measurement.air_mass_flow.value)
subplot(1,2,2)
plot(Measurement.(Measurement.velocity.time),Measurement.velocity.value)
You can use help subplot on Matlab for further details or have a look at this:
https://www.dartmouth.edu/~rc/classes/matlab_graphics/Matlab-subplots.html
The MATLAB surf plot below is essentially two plots plotted adjacent to each other. For clarity, I have included some code below used to prepare the plot:
band1 = horzcat(band1, eSurface2(:,:,1));
band2 = horzcat(band2, eSurface2(:,:,2));
surf(band2,'DisplayName','band2');
surf(band3,'DisplayName','band2');
I would like for the y axis numbering to restart at the start of the second graph. How do I go about doing that?
You can use the 'YTick' and 'YTickLabel' properties of the axis to control the ticks, this way you can make it start from zero for the second graph. It will require some trail and error to get it right. See the relevant doc here (you'll have to scroll all the way to the bottom of the page).
Take advantage of the following feature of 'YTickLabel': "If you do not specify enough text labels for all the tick marks, MATLAB uses all of the labels specified, then reuses the specified labels".
I have a 3 dimensional data set which I intend to analyse. After analysing the data set, basically running an algorithm to find a range of points, I this range of points to have a specific colour so that when someone sees the surface plot, they know which are the points of interest. How can this be achieved?
I have tried to find some help in the mathworks forums, but so far I am not able to find a satisfactory solution.
If you are using the surface function, you can use the 4 parameter version surf(x,y,z,c) where c lets you specify colour based on the currently used colour map. See this link at the mathworks site for more detail http://www.mathworks.co.uk/help/matlab/ref/surf.html
I want to select a pixel in an image using floating-point numbers as indexes. The Matlab documentation says that this is possible using "spatial coordinates". However, it doesn't provide any clues on how to do it. How can I select a pixel from an image using floating-point indexes ("spatial coordinates")?
Suppose that I have the following code:
i = imread('pout.tif')
get_pixel_by_spatial_coords(i, 1.5, 3.63)
What's the real name of the function get_pixel_by_spatial_coords?
I think the linked article on spatial coordinates was only describing the coordinate systems used by various image plotting routines.
Your your purpose, simply round the number. Depending on the context, use one of:
i(round(1.5), round(3.63))
i(floor(1.5), floor(3.63))
i(ceil(1.5), ceil(3.63) )
I believe you're looking for ginput:
ginput raises crosshairs in the current axes to for you to identify points in the figure, positioning the cursor with the mouse. The figure must have focus before ginput can receive input. If it has no axes, one is created upon the first click or keypress.