Matplotlib Crash Course
Key Takeaways
This video provides a crash course on Matplotlib, a data visualization library for Python, covering its basics and application to real-world problems. The course is designed for beginners and covers various aspects of Matplotlib, including its installation, basic plotting, customization, and more.
Full Transcript
what's up guys and welcome back to another video so in today's video we will go through the bat plot live library of Python and this is a super useful library for all things data visualization in Python so the video will start off with going through the matplotlib basics so as you see on the screen will be creating like line graphs such as the one you see here you'll learn how to format these lines in different ways you'll be able to add a title you'll be able to add labels to your x and y-axes format your tick marks properly add a legend etc so all the kind of basic matplotlib things you want to know then we'll move into other types of graphs such as bar charts and we'll finish this video off with going through all sorts of like real world examples where you can kind of combine your data science skills that you might have using like pandas library and if you haven't learned anything about the pandas library I recommend you watch my video on that so with that the kind of real world examples will do stuff such as like plot the USA versus Canada gas prices off of data that we have a little link to in a CSV we'll do some histogram stuff we'll do some pie chart stuff and we will do some box and whiskers chart stuff I can't get through every type of graph in this one video but if there's certain things that I didn't cover and you really want me to cover it let me know in the comments that would be super duper yeah that's all I got to start this video let's just jump into it all right let's start out by loading in the libraries that we need for this tutorial so we're an import and map plot live as our dot pie plot as peel of T we're gonna import numpy as NP and we're gonna for the later examples import pandas as PD and run that and so if you have all these us like already installed you won't get any errors if you do get these get an error when you're trying to run them onto these you find need to install it so you can either do a pip install matplotlib pip install numpy pip install pandas or you could install a Python distribution that already has these packages such as anaconda I'll link to how to do this the description okay so now we have our libraries loaded let's now build our basic graph so I just think it's kind of the hardest part about anything with Python in general is starting with that blank blank space so what I recommend for matplotlib is always start at the documentation so I have a link for this in the description but here is the home page of the matplotlib pipe lot documentation and what I recommend is like whenever we're trying to do something new just do a ctrl F and like look for it so if we look for plot here that's like we're just trying to get a line graph on the on the screen box plots not only one we don't want it been plot okay this looks good plot y versus X as lines or markers so this is what we'll start off by doing as you can see right here and the examples it gives gives plot X comma y so that's the command will F the run to make this work and just to know what x and y are if we go down to parameters they tell us that commonly these parameters are 1d arrays so we know we need to pass in 1d array to the plot function so if we do plot 1 2 3 that's gonna be our x + 2 4 6 will be our Y I can't type and run that plot is not defined so we imported pipe lot as plot so when we run this function we actually have to do P love T dot plot and then this is our X and the second array is our Y so let's see what happens there yay we got a graph and to clean this up a little bit I recommend moving our variables into removing our arrays into variables so X is 1 2 3 and Y is 2 4 6 and we can change now this to X Y and one thing that's annoying with the matplotlib if you're doing this in Jupiter notebook by default is you have this annoying little line here so you want to get rid of that you can just actually call plot dot show and that's the correct way to actually show this graph okay now that we have just a line on the screen let's start adding a little bit more to our graph so to do this let's go back to our documentation and go back to just the pie plot so I think this is a good spot to start because you always can kind of just ctrl F and find something you're looking for so let's say we wanted to add a title to our graph if I type in title it points me right to a couple different places that I probably want to look at and right here is what we're looking for so set a title for the axes click that and this tells me all sorts of stuff about how I call this so it looks like I use do pie plot title so I can do plot title and let's just do our first graph and run that as you can see our title is now there and same thing for a lot of the different parameters so going back to the documentation if I want an X level on a while label I just type in right I guess I knew that but let's just say Y label nothing comes up Y or just even label C label label a contour plot that's none of us the fig labels no pie no title no X label Y label let's how we get there so you can keep doing this and really easily find what you're looking for I think it's a good place to go if you kind of just if you forget things because I always forget things in that plot lid okay so adding a label to x and y plot an X label x-axes and I guess I'm getting really enthusiastic because we keep adding exclamation points to all of my stuff y-axes yay see what happens yeah and I want to just get rid of these recommendations I don't need them okay so now we have a graph and we have a title and we have y axis x axis in a real graph we would label these properly but for the sake of this example we're just kind of getting a feel for how we add these alright so now that we have our title and labels one thing we might want to do to them is resize them so if we look at the the documentation for title one thing you'll notice is that you can use you can pass in this font dictionary and it gives you a little bit of details about the font dictionary here but basically there's all sorts of options that we can do and like play around with our font so let's say I wanted to change the font of our title a new font dict equals and I can pass in a font name and let's say I my good old trusty reliable comic sans ms will be our new font and if you look at that we got a nice new font on a graph and if you can't see it well then in that case I'll change the font size to be something like 20 now you should definitely be able to tell that I've changed the font type and in the description I listed I put a link to all the known matplotlib fonts that you can use and if you look through the documentation you kind of find some different options you can do with this and you can also do the same thing with the labels I could do like font dict equals let's say I wanted to make this font arielle and that obviously might be the default but if I did it like Comic Sans as well you can tell that x-axis now has changed but I wouldn't just leave that this be for now okay so we did labels all right so that one thing that's bothering me is the tick marks I want to let's say I just want to do integer numbers and I'm gonna add a couple more values to our graph so I'm gonna go to five I'm gonna start at zero and Y would go from Y is always going to be two times X so it's gonna look like that oh I would magically did it for us at that case I don't want it to magically do it for us okay let's say we went to four and we wanted just the integer values we didn't want any decimal value so how do we change our ticks so we can do that by doing plot X ticks and our X ticks will do 0 0 1 2 3 and I also just found remember this command by using the documentation and our wide ticks will be I have a 0 to 10 every 2 so it was 0 2 4 6 oh my gosh 10 as you can see that now we have the tick marks working properly and maybe I wanted to add 4 as well so now we labeled our ticks differently and one thing that's cool to know is that the graph will automatically resize based on how we set this so if I set one tick to a thousand well now our graph kind of looks like not too good but it's nice that you can easily do that 4 is better but and you can do the same thing with y I'd say when do they make the last one 100 as you can see it changes up the sizing of the graph one thing that's also cool though is find it even if I didn't even lis space these out if I did like 7 he and then 7.5 as you can see it properly puts those at the right spot in the graph I'll leave it like this I'll leave it a little bit weird but yeah that looks good to me okay so we have our first graph let's add a legend and make this line a little bit more exciting color wise so if we wanted to add a legend we can do and I'm gonna actually kind of like showing how the documentation is helpful if I looked up legend Figg legends that might be work just this legend place a legend on the axes like by looking up legend I I've figured out that the call is just legend and it gives me some examples so I always like to refer to this documentation okay so PLT legend and what happens when I do that no handles with labels fans put in legends so it's complaining because we don't have anything to label what it's saying is how do we label this line and the way we do that is by passing in a label to our plot function so in this case our X&Y we plotted X to be or Y to be 2 times X so I'm going to call the label here 2x and as you can see we get 2x right there okay let's say now that we wanted to change up the color of this line maybe make it thicker do some other things to it if we go to plot whereas plot we'll see all sorts of properties that we can do and plot so what I'm seeing right here is you can pass in all these different parameters to our plot and it probably lists off what we can put maybe not it's not super specific but if you look hard enough you can see all these properties that you can pass into the plot function so one thing we could plot pass in is color so if I passed in color equals red will work and it will know well I think the common color so if I did yellow if I did like yellow which is not a color it's gonna yell at me might even work with y yeah cool and we also can pass in hexadecimal colors so I could do like a B a B a B and we got like a grayish color you get this is helpful because you can pick use like a color picker tool and pick pretty much any color you want here but we'll stay with red for no the other parameters I could pass into that let's see what else we had I could do I think line size equals let's say 12 oh that is not a print parameter not remembered either go back to Maya documentation size marker size maybe that's a marker size oh I also see you line width here so line width equals 2 ohmygosh line with equals 12 makes this big line maybe two it's a bit bigger than I think what we had we can also do we can label a marker so let's say I wanted to add dots into this as you can see you can't really see it too too well but maybe I made the marker size a little bit bigger and I'm just kind of passing this in so you could kind of see what you can do oh that didn't work let's say 10 yeah as you can see nicely big dots on our graph I can also do marker edge color there's all sorts of properties I'm just like continually passing these in but now you see a different type of dot and whatnot so this is pretty cool that we can have all this customization it sometimes takes a little while to get what we want but it's usually it just is nice to have this power and one final thing I'll pass in is line style so there's all sorts of line styles we can pass it and you can read all into the different ways you can do this in the documentation one thing that's pretty cool is that instead of listing all of these keyword arguments sometimes we just want to make a different type of line quickly so there's actually a shorthand that you can use to kind of do pretty much the same thing so I comment this out real quick we have no graph what you can do is there's a shorthand notation that allows you to kind of have a pretty good amount of customization quickly so the shorthand notation is color marker line style I guess so if we go and copy this line from above let's say we just passed in this now what we can do is before we add our label we can pass in the shorthand notation so I can do color will say read it I think just accepts letters you can look into the documentation see exactly what it does marker will do a dot and then line will do a dash so watch what happens when I do this gives us a nice line with dots in it if I do two dashes gives us a dotted line if I do like a different type of marker you can pass in like a carat like that gives us a line with carrots in it it's kind of cool that you can do this shorthand notation and get different types of lines very easily just to follow up on the whole shorthand notation pulling in the docs for the plot function it shows all the different markers you can use and the different line Styles supported and the different colors supported so check out the plot documentation to see all that all right let's move on to our next thing and that will be I guess let's just add another line quick to our graph so we have our first line let's add line number two and this one will make a little bit more interesting and the thing is like here we had a very straightforward like you have X any other Y but this is not always easy to do especially if you have like a function like sign where you want to plot it at like a bunch of values but those values are all like you know crazy decimals so I'm going to show you how you can handle something like that so this is where we use numpy so nobody call this x2 I'm going to say that x2 equals NP a range 0 to 4 and we'll go by 0.5 as our tick so if I print out x2 real quick you see that this gives us a numpy array with zero zero point 5 1 1.5 to 2 point 5 3 to 3.5 I'll actually make it good a 4 point 5 so it goes at the same spot as our other graph because this is a exclusive here so we have that so that's gonna be our XS and so what I can do here is I can go ahead and plot that and I'm going to plot the square function for it so I'm gonna pass in x2 and then instead of passing in a why I'm just gonna do x2 and I'm gonna do squared what happens here so now you see we get x2 squared it goes a little bit higher than our original axis was set so I'm going to change up the ticks or maybe I'll just kind of comment this out and see what happens for a tick marks yeah I'm fine with just leaving the default that it gave us looks good to me and now we have two blue colors so let's make this a different color maybe you make it red we want to give it a label as well so I'm going to do red and I'm going to say the label is equal to x squared and one thing that's cool is that it automatically moved this legend to the top left because the positioning was better now that this goes up to the top right okay so we have two two lines up there and from the original image I showed there's some stuff that's still different one thing that's kind of cool that you could do is let's say you had a graph that stopped but you wanted to kind of show the projection of it not in the future so what I did to show that type of a phenomenon is I did like X to take the first four values here it'll plot that what did I do oh shoot first four so what I want I think that will work take the first floor and plot that and then for the last values so from let's say five or three all right let's make this a little bigger like this six or five bear with me here from four onward we'll make it a dash line and I had a little bit of overlap because I think it'll look better you'll see in a sec four - make this still the same function but this time we're gonna make it a dashed line so there you see and I'm going to actually make this a little bit different there you see like maybe something ended here and then you make it - the rest of the way you could do something like that using the format I just showed all right what else do we have probably clean this code up a little bit another thing that I showed in the original graph that I showed when I was a introducing this video was a resize so let's say we wanted to resize our graph well we should do that by near the top of our graph so I'm going to go ahead and do resize your graph I'm going to go ahead and do plot dot figure pass in fix size and we're going to say let's make the dimensions 5 by 3 it's kind of an arbitrary 5 by 3 that will give you kind of the ratio of your X to Y or Y but to specify how many pixels it is you're gonna want to pass in a second parameter which is dpi which basically is pixels per inch so I recommend using a value of around 300 here if you do smaller values you'll have more pixelated graphs so if you can afford having a bigger image having a bigger dpi is often nice so in this case we have pixels per inch of 300 so this is going to actually be 5 inches by 3 inches so that Tolle pixels will be 1500 by 900 here in this graph so now it's much much bigger maybe that's a little bit too big I didn't I'm going to be blocking this graph so I'm gonna make it a little bit smaller but you get the idea then here so we'll make it like two by 1.5 that's not a good dimensions now though [Music] I mean just play around with this the the biggest issue I have right now is the graph looks so big because I have my screen super high resolution or super the view is like very up close because I want to make sure you guys can see my code but yeah this would be at 1500 by 900 graph I'm gonna just for the sake of the graph decrease the DPI and make it more reasonable that the issue you can't really tell from this image but if you really zoom into the graph and maybe if you like printed the graph out it would look maybe a little bit pixelated with a dpi of 100 so probably try to keep this value higher if possible and then another thing you want to do is you'll want to save your graph so to say we can do plot dot savefig and when you do say buy graph dot PNG and one thing that's nice too is like I pass in the DPI parameter here as well so let's say when I actually see if my graph wanted to be bigger but for the sake of being able to show you guys in a smaller format I wanted the 100 above I can still go ahead and save it with 300 and then kind of solves both of my problems and so this then my graph dot PNG will save in the current directory that this MATLAB matplotlib tutorial is in it was yeah well saving that current the current director whatever fought whatever directory of your file not pot Lib tutorial is in this graph will also save there when we run this cool now we have that saved all right let me clean this up a little bit and just to note the reason I did this is because this is exclusive the six here so when I do five onwards it picks up this actually ends at five because it doesn't include six so it actually covers everything here all right now that we've shown line graphs a bit let's go and do quickly do bar charts and after bar charts I think we're going to just end this video short and I'll do the real-world examples in a video that I'll post next week I just think this video might get a bit too long if I include everything in just one video so all right so I want to do bar chart okay so bar charts are pretty straightforward as well let's say we had some labels a a B and C and some values that say 1 4 & 2 well if we wanted to do a bar chart we can just do plot dot bar of labels comma values at Friday they're wrong its values comma labels and we get not what I was looking for okay let's see it is actually labels first then values ABC cool so that was pretty straightforward and I can do the plot dot show we're going to do all the adding of titles and whatnot the same way as before in the line graph example let's skip over that for now it could also resize it let's say so I could do plot figure fig size equals it's a six by four it's gonna use whatever the default dpi is and then one thing that it's cool that you can do with bar charts is you could add different patterns to these so to do that and you can you can really play around with the documentation do all sorts of different things I do some kind of following the graphs that I was showing the inner intro video so I wanted to just show kind of what different hatch values look like so I can make first one have I'm gonna say bars equal plug up ours there you go now I do bars zero set hatch that's gonna give me the lines that you see down here I can do the same thing with the second value let's make this circles and you can find out the hatch values and the documentation as well let's do the third value we'll do stars so now you get kind of a cool little bar chart I can also add a legend to this very easily and this will tell me right away we have a B and C but I mean their label right here some legends probably not necessary in this case all right let's see what else does I want to do with this and then if you wanted to make this a little bit neater if you had like many more I might get tiring to do this so you could do something like patterns equals /o and star and you could do instead of this notation you could do ya for a bar and bars bar dot set hatch guess we want an index as well we'll just do actually patterns dot pop first item off so this would get us our right one for each one should yeah look at that if I didn't pop regularly I think it would take off the last so this will be stars instead of yep look at that yeah so basically what it did is it just popped off the first item for the first bar popped up the second item for the second bar and then popped off the final item for the third bar as you can see there in this video we're going to build off of what we didn't in the last video which was kind of an introductory video to Matt pot Lib library of Python so in this video specifically we're going to be kind of doing some real world type examples so basically combining our knowledge of the pandas library with the matplotlib library to create all sorts of different plots based on CSV style data so we'll start out with a spreadsheet that all provided my github page link in the description to gas prices over time for different countries so with that data sheet will build charts such as the one you see here then the second data set that I provided is a list of all the game the video game FIFA's player stats so if you're not familiar with that and basically all of the soccer players or I guess if you're an international viewer watching this all the football players in the game FIFA provided all their like overall stats in the game and will build grab all sorts of charts off of that so we'll do like histogram stuff with players overall rating in FIFA some pie chart stuff more pie chart stuff a little bit more complex and then finally some box and whisker chart stuff based off the FIFA data and if we have time maybe one or two more graphs before we begin couple quick I guess announcements first is if you've enjoyed any of my videos it'd mean a lot to me if you can subscribe and also along the same lines if you don't mind also following my Instagram and Twitter basically the more followers I get on all my social media platforms the more content the more serious that I'll take this and the more content that I'll produce all right we'll start this video off the same way we started the last video make sure you load up the necessary libraries I'll be editing with Jupiter notebook using Python 3 but you can using other IDs and text editors as well so we're importing these three libraries matplotlib numpy and pandas then the next step will be to download the data that I provided for this so to do that go to my github which is in the description and we want to download two different files so that files the first file we want to download is this gas prices so the easiest way to think to download this is go to the raw and then just do save as you can and you want to save it wherever you have your code so my code these Jupiter notebooks for me are in this map pot Lib tutorial directory so I would save this value here as you see I already saved it and then for the the other data file the FIFA dataset we're gonna want to do the same thing so go back to the main file in the github click on FIFA data this one you can't even preview but just click view raw right click and save as you want to save it as a CSV file so a comma separated values file and you'll also want to save this in the same directory that you have the file that you're writing your code in okay so now that we've saved the data let's start playing around with it and if you remember from my pandas video the way that we can look at a CSV file with pandas is we can do something like will call this CS or will our data gasps equals PD read CSV then we need to type in the name of the file we want to read we've saved it as gas prices dot CSV and we should be luron that no issues and we saved this file in the same directory that this map pot the editorial file is in so that's why this worked if you save this file in a different directory you can specify where you save it so if you save it in like a data folder you would specify it so it's with this type of syntax okay yes so now what we can do is look what to see what's in our this data file so if I just do gas and this works in Jupiter notebook but in another if you're just using like sublime text you'd have to like print gas or you could just be looking at the actual CSV file and like excel so gasps we have year and then we have all these different countries and their price and US dollars per gallon for gas that year so the way I look at this we're gonna have year as our x input so ah stop texting me so based on the year each country has a different gas price so the way we can access that is we can do something like PLT dot plot and so our X data is going to be gas a year our Y data is gonna be let's say we start with USA so USA is all caps here so I have to follow that same syntax when I'm accessing that gas that USA and then I can do a plot dot show and I think already there we'll have a basic graph up and running so as you can see yep this is the basic graph for our data and we could also add another country we can do plot plot let's add Canada year gas Canada I think yeah as you can see now we have two different graphs and as you can see from this it's easy to see more easily than just reading the CSV that oh okay every year gas and Canada is consistently higher than in the USA but we have some problems with this graph so like one thing that I see that's an issue is all these years like I don't know I think it just makes more sense to be looking at the exact year especially since this data wasn't like broken up by month so like I don't like the x axis labels we have no title we have no real good indicator of these values mean up here here on the y-axis so we need to start fixing some things up and quickly to know if you have like a multi-word name this format of dot year probably won't work so you could also do bracket notation to access that field as you see it still works so if we had something with two names and I don't remember let me look at the data again see if any countries have that South Korea for example like we would have to use this syntax so I'll actually plot South Korea's gas in this list their gas prices so plot plot gas year gas South Korea wouldn't work maybe actually it would work with the underlines I'm not sure yeah South Korea's having issues so what we can do is south space Korea now we have three lines and Wow yeah the gas in South Korea is even more expensive okay it's just kind of bothering me mixing these different ways to do this so I'm going to change this back to here change this back to year and only leave the South Korea like that because it has to be like that okay so now we have some plots let's make this graph overall better though so to start let's add a title so to add a title if you remember from my last video and feel free to review that again we can just use peel detail I can label this like gas prices over time and US dollars and so it still doesn't make too much sense because you see all these lines but you don't know what they represent I mean we only know that what they represent because we see the code here but we should add a legend and so to add a legend we're not to first give these plots labels because if I don't give these labels watch what happens plot dot legend oh wow it worked I was not actually expecting that to work try to think why that is that it worked whatever it worked without needing to add the labels specifically so that's kind of nice for us I guess due to the fact that we're reading this in and we kind of from a nice CSV that already has headers it probably worked but in our last video you had to add label so I could actually change the label if I wanted to if I wanted this to just say United States see that change it like that so you can add this optional label parameter if things aren't working for you properly but for us it just kind of magically did the trick okay so this is looking already a little bit better I might make the graph a little bit bigger let's do that I can do plot dot figure big size equals say 8 by 5 so now that's a nicer sizing it's more easy to see everything the legend is a more reasonable size and comparison of everything in there so that's bit better what else can we do to this well we don't have any labels for axes so we should definitely do that also I really don't like that these tick marks are not exact years so I think the next thing I'm going to do is change up the ticks so x ticks what we can pass in is just the year here so now it will have a tick for every year that we have data for Wow and that looks absolutely fantastic yeah obviously issues with this - squished together so what can work well is if I print out gas that year you see we have part of a panda's data frame but we have over one of these years if we remember you know some good old list comprehension this comprehension the list iterating syntax maybe that will be the word but you know when you want to get certain items like the first five items on a list you go zero to five or you could even just do five what we want to do is iterate you know maybe take every three years so what we could do to do that is we don't care where we start it so we're gonna start at the beginning we want to end at the end but we want to skip every three years so now we get all the years in a we get every third year which will probably be better when we graph it down here so I'm going to do that now so guess year tick tick three colon colon three cool that looks pretty good all right I also kind of would like to have exact values here kind of show exactly where we're plotting the points so to do that if you remember the shorthand notation from the last video we can do stuff like will make us a blue dot - so blue is the color and we want a dot - we want dot markers and a dash a straight line basically we're saying cool so now we have every third year but we have points for every time we actually have a data point so that looks good we do the same thing for the other ones red - and what's cool - is you see that the legend changes as we do that South Korea let's say green dot - cool I like the look of this still we need to do some more modifications let's add labels to our X and y-axis so X label will be year that's pretty self-explanatory then the Y label we'll be US dollars cool so now you can see you know okay and year 2008 South Korea paid approximately $6 per gallon of gas we're all translating all these values to US dollars while Canada paid about four dollars and the u.s. played about three dollars so that looks pretty good to me and we can easily add some more countries here so I could like add Australia for example and we'll make them ah I don't know what color to use I don't know that anymore I got a yellow shirt it might be ugly color yeah it's not too bad but yeah and there we have Australia looks like they're missing maybe a data value for 1990 I'm not positive but yeah we can easily do this for all of our different graphs and we could even do something like let's comment this out temporarily let me do something like for country in gas let's see what happens at that print country yeah cool this is giving us all the different countries we don't want year so I'm going to say in gas one onwards now we have Oh No close close close okay I'm gonna be a little bit hacky here if country is not equal to Year print country now we get all of the countries and so what we could do with this now is you know that's probable need of a way to do this then if country is not equal to year but I'm just trying to show you how like we can do this very quick and efficient like dude gas that year and then country and we'll let it self select the colors but we could if we wanted to specify marker equals dot and think the line style will be fine already oh no unrecognized character and oh okay can't just do country we need to do gas country look at that now we've got all the different all the different countries in our graph and you could move there's ways within matplotlib to like move the legend outside of the graph I'm not going to go into that right now but another I guess comment that I have is whenever you're doing anything with matplotlib or anything with python in general is like quickly do a google search like how to move legend outside of matplotlib graph and you'll find probably on Stack Overflow within the first three searches someone that had the same problem as you and found an answer to it so I always recommend doing that but this is kind of cool that we were able to quickly graph all these different lines for all the different countries and if you wanted to you could like create a list like countries to look at maybe not the best name and you could choose exactly which ones you wanted to include and then you would do if not equals a year and we actually you could just do if country in countries to look at you'll do this real quick if country in countries to look at so you see this is another way we can graph specific things cool cool cool all right I'm gonna comment this out temporarily and just leave I'll leave it I'll push it to the github when we're done with this video and it will uncon with this again cool and yeah you can play around with this style you can use the shorthand notation or you can use the long hand notation that we kind of used here but you also can reference the first video I posted on matplotlib to really play around with your line graph styles alright we're pretty much known of this graph but a lot of a couple final things before I move on to the FIFA data and doing some other graphs so the first thing is changing up the font size I mentioned this in the previous map plot lib video I did but I thought I was worth mentioning again so we can add a font stick to our title and actually we can add this to any text based label so you also add it to the X label ony label and we can do all sorts of different tweaks to our font I put a list in the description to all the different fonts you can use here if you wanted to change up the actual font type but I'm going to keep the font type the same I'm going to change the font weight I'm gonna make it bold so you see it now it's not bold but if I do this watch what happens now it's bold and let's say I also wanted to change the font size I would say font size and let's say it's size 22 so now we have a larger font maybe 18 is a better value so we can do that you can do that for any of your your labels another thing we might want to do is in the when I showed this graph originally I also had of the year 2011 we don't have values for 2011 but maybe you wanted to allow for the ability of that showing up and maybe project where they're going you could do Plus you take your ticks and plus 2011 ah that did not work so this is a litter this is a data frame so you can't just directly add 2011 so we need to make it a list still didn't work and the problem is the data frame is kind of weird when you add just a direct list so you can do dot to list and now do this now you see 2011 is there and then if you wanted to actually save this graph remember we can do plot dot save fig we can give it a name so gas price figure sure and remember when we're saving if you change the DPI you'll get a higher resolution image so 300 is a good value this is gonna make a pretty big image it's going to make a 300 times eight which is 24 hundred by 1500 image but so really you can play around with this video but the higher the resolution or higher dpi the higher resolution image you're going to get so whoo I want to say this is a PNG so if I went into that folder that I had as you can see where did it go refresh oh I don't know where I'm saving this just propose figure where are you alright sorry I tipped us in wrong savefig and you always just you can refresh and look at the documentation I'm gonna have government yeah I got an error here I should have noticed that before but yeah say fig one word do that now if I go to the folder that I have these files in we got gas price figure and if I bring that in you see the figure there saves nicely as a PNG all right let's move on to the FIFA data now that we're done with the gas price stuff let's move on to using our FIFA data so we're gonna first gonna have to load it in so in if you didn't save the FIFA data maybe skipped around this video it's on my github page and the link to that is in the description and you want to save it in the same directory of the file that you're using to produce these graphs Lou I'm mixing my words load FIFA data ok so to do that we'll just call FIFA equals PD not read CSV and I believe we called this FIFA data dot CSV and that's just check make sure it's loaded in properly cool and this is actually shoot it shouldn't have loaded at all ok it's still a preview but you could do something if you only wanted to see like the first 5 rows you can do FIFA dot head five all right so so you can get a feel for what's in this data you got like the name of the player and you should probably recognize some of these guys names Leo Messi Ronaldo Neymar all very good players I think it's right now sorted probably by their overall but yet all the stats from the game FIFA for these guys and I think it just provides a good set of data to work from and also I took this data from a cat goal challenge I'm gonna link to the original source of the data as well down the description ok so what can we do with this so to start off let's do some histogram stuff okay so what I think is cool first thing to do is plot the overall skill level here that you see on the right just figure out in the game like how many people have above a 90 how many people have between an 80 and 90 etc so what we can do to do that is we have our data already loaded I don't have to reload a 10 but I can go ahead and do let's see plot and the way that I remember these commands is like I showed in the last video you can kind of use the PI plot documentation as your kind of your starting point and then if you're looking to try to do a histogram lookup histogram within that documentation the link to the documentation is in the description and you'll find the command hist so what I can pass into history to set we're going to pass in the overall skill level as my input and let's see what happened going to do that and then I'll do a plot Dutch show so I don't get all this random stuff okay that looks pretty good it's already starting to get there what would probably be more helpful is if this kind of these tick marks were centered for each bin that we have and I'll do that in a sec all right we're gonna set the bins every 10 overall skill level points so like the highest you would be and the FIFA game is 100 the lowest you could be as a zero so we'll do our bins at intervals of 10 up to from zero to a hundred so the first bin that we have will be all players that have a skill level between 0 and 10 and it's counting that number 50 60 70 80 90 and then finally 100 cool so oh I didn't do anything yet now we can set the bins parameter of the the histogram to our bins now we got a nice a little bit nicer of a graph now the next thing I'm going to do is set our X ticks to be the bins as well so now it's nicely labeled each interval corresponds exactly with what we have here but it looks like we have some unnecessary data so it looks like there's very little players over here so maybe I'll limit this start at 40 and go up to 100 and what's kind of crazy is you know the players that are over a 90 are really a rarity because you can't even see that bar from the 90 to 100 range there so let's do a little bit you're not a title the same way as before got a while a ball so I'll do a wide labor real quick number of players and the X label would be the skill level and we could have a title that would be like distribution of player skills in in FIFA I think it's FIFA 2018 might be 2019 not positive so that's a cool little visualization and you can get more into details like to actually see that there are some values there you could do you change up your white X to be let's say 0 to 100 okay that didn't work yeah yes it's kind of tough with all of these players but if we did move it from like 80 to 100 you see that yeah there are actually players that are above a 90 is just very very few compared to the amount of players in the game another thing you could potentially do is maybe break it up use the data and only look at the stats of players and certain teams and then you wouldn't get all the noise I guess in the lower skill levels that I put all the people in here one little modification we can make to this is let's say we wanted to change the color of our bar I could set this you know I could set it to red usually like that or I could set it to a hexadecimal value very easily and what I recommend whatever you want a certain color what you can do is just like do a google search for a color picker as you see here I can just move this bar around and no matter what color I want so let's say I want this greenish color I copy that hex code hide this paste in the hex code now I get that green color I kind of like the bluish color so I'm gonna go with that but yeah you can play around and get any color you want with that pot lid all right let's do pie chart snacks and just to start off I kind of mentioned this the histograms but to like figure out how to do a pie chart I usually just start at this documentation lookup pie plot a pie chart is right there and then with this page I can kind of get all the details of what I can pass in and what are the parameters that I can play around with yeah a lot of good stuff here okay so the wedge sizes are so that's what we're gonna input here so what does that look like okay so I want to just output some of our data again and what I think we're gonna do for this first chart is one of the components of this I guess we can't see it here but if you open up the full I can't see all of it if you opened up the full file within like Excel you'd see that one of the parameters we can have is preferred foot so if I look up that you see that left or right it's what whether you play left you're ready in soccer so what I'm thinking would be interesting to do a pie chart on is the percentage of people that play with their left foot versus their right foot so how would we do something like that well we can count the number of people that play with our left foot by doing the following and this plays into the stuff that I taught in the that we went through in the pandas video but we can use the dot lok to kind of like look up the data set and kind of filter the data set by specific condition in this case for left we want to the condition to be apologize one sec when the condition to be if the preferred foot column is equal to left then we want only the data that this condition holds and because we're going to need to pass this into a pie chart what we'll want to do is get the count of that I believe this count gives us an array I can probably check so let's see what is the left yeah it's like an array here so if we do count 0 we'll actually get a number as you can see 4211 players prefer their left foot and so we can do the same thing with right FIFA FIFA bird foot equals equals right get the count of that and then because this returns a data frame we have to take the we'll just take the first element which it will be a number and let's see how much you like right okay so considerably more people preference their right foot than they left that makes sense okay so now how do I do the pie chart we can do plot pie this is from the documentation and I guess I kind of jumped ahead but you might like think maybe I can just go ahead and do FIFA preferred I can't even spell of course I like foot and like figure that it might just plot the pie chart while doing that but it it gets messed up when you don't pass it numbers so what we need to do is passing a list of numbers so what we can do is left comma right so now we have two values and I'll make a part pie chart out of these values look at that cool and I'll do plot dot show one thing I'm noticing is these colors are really ugly and also nothing is labeled right now so going back to the documentation you can see labels is list sequence of strings providing the labels for each wedge we need to pass in that we can also change up the colors with a writ list as well so let's do that so labels will do equals left and right and we'll pass those into our pie chart do labels equals labels cool so now at least we have like relative percentages I mean we don't know the exact percentages but you have an idea just based off the graph if we added in colors we can change this ugly orange from there she could pass in two colors let's say like we're gonna just use some hexadecimal values we're just typing in these in randomly and now I have to pass some colors here cool now that looks alright maybe you'd want a little bit more contrast but it doesn't really matter too too much you can be the judge of that I do Auto percentage this should forget exactly how to format this I'll have to check so others percentage format percent so we can use percent notation here so we can do % point 2f and basically they'll just fill in whatever value is for the percentage with 0.2 two decimals of floats and I guess I screwed that up probably also be a string cool so now it actually gives us our percentages so twenty three point one nine percent of the people in the FIFA game prefer their left foot over their right foot and if you want to actually see percent on that it's a little bit weird and just do percent percent basically if you just did percent I think it would bug out because it's expecting specific notation basically by doing two percentage points in this notation it knows you actually do want that percentage sign all right and then we can add a label the title as we've done in the past preference foot preference of FIFA players cool and there's a basic pie chart I'm trying to think of there's other things I should add to this well we'll get into a little bit more complicated stuff and the next pie chart that we'll build so this is a pretty simple pie chart let's make another pie chart all right pie chart number two so in this one what we're gonna do is look at the breakdown of the weights of the FIFA players and we'll plot it as a pie chart so I mean okay let's look at what the weights look like so I'm going to print out wait here okay so we have a list of all these weights what we can see is that there and note that they're in pounds they're not into kilograms as many of you guys might expect and pounds but you could initial step you could do to this pie chart would be to convert all these values to kilograms that'd be a fun little exercise but okay we have all these pounds and one thing I immediately noticed is if we're trying to count ranges of these pounds it's gonna be tough with this pounds string attached is there anything else I notice here no it's mostly just that but okay so basically what I want to do is reset the weight category to not include these pounds and just be the number so this is going to be a string right now and we just want this converted to an integer so let's try to do that okay so we're going to reset the weight column and what we're gonna want to do is strip off so X here I'm going to do X for X in FIFA eight so X in this case is going to be a string so we can do strip lbs so that will give us just this part of the string perhaps in FIFA wait let's see if that works float object has no attribute strip and I mixed I was expecting that all these would be strings start to start with but because they're not what we can add is an if statement within our list comprehension I'm going to just say if type x equals equals strain I'm guessing maybe there's a couple of empty values or something so we're just gonna kind of ignore those and then else X so if type x equals equals string we're gonna do this else just leave it as is that's what we're saying here let's see if this works now we print out FIFA eight cool cool and I'm gonna take the first value real quick and notice it's still a string so what we're actually going to want to do to this line is surround it with the int block which will convert it to an end now if I look at this FIFA dot we 0 we get it as a integer value I don't know why it's giving a decimal here but should be an actual value and you notice because the point 0 we know that it probably is being read as a value ok so now we have these values set right so let's start counting things so we're gonna start with light players and we'll say light players I have a weight under this is kind of arbitrary of a rest say that they have a weight under 125 pounds and then we're gonna count that just like we did in the last example then the next condition we'll do is I guess medium light players that would be above 125 greater than or equal to 125 then we need an and condition the end condition and the way we're going to format this with our Panda notation is like that and this is probably review a bit if you did watch watch through the pandas video that I did and FIFA 8 is less than 150 let's say so now we're getting only the rows that have both of these conditions true we're going to count that 0 keep doing this I'll price peed this up when I edit the video I'm going to just get three more categories all right cool so we have five different weight categories and I can like print these out I don't know invalid syntax what do they do Oh didn't end up 369 heavy people medium heavy let's see if this is a valid number 4000 so yeah it makes sense that there's more between 170 and 200 then there are people over 200 in the league it's kind of tough to be a soccer player or 200 pounds okay so let's now plot this so what we want to plot will be our weights and I'll make this an array light weights medium medium medium heavy and heavy our labels yeah can't type today all right so plot dot pie weights let's see what this looks like cool it looks pretty good but it has no labels right now now I'm gonna do a plot touch show so we need to add some labels so under 125 it's the first one 125 to 150 is the second 150 to 175 is the third and 175 to 200 its fourth and finally over 200 is the last and it will pass these in with our pipe chart okay cool so now we have all these labels one thing I don't like and this is a good little thing to know is you couldn't I don't like the default color scheme and instead of passing in all five of my own colors one thing you can actually do is I don't know what I just typed in I didn't mean to do that I'm getting ahead of myself is there's a plot style and so instead of the default which is currently set aside as you can see it stays the same when I do that we're going to use the style of ggplot and I'll link a list of these different styles in the description so I personally like this color scheme a lot more when I change the style of our plot okay so that's pretty good we can also add the auto percentage as we did with the last example so percentage point 2f percentage is a percentage percentage cool but things are a little bit ugly in this case the things are squished together so how can we resolve this problem and really if you go into the documentation you'll see there's a lot of these weird names and you might not know what everyone means but if you kind of look up like if you did a google search like pie chart Python numbers getting in the way of each other you probably find some different solutions so one solution we could go ahead and try would be setting the percentage distance so the percentage distance is the percentage distance from the center of the graph so if I did centage equals percentage distance equals zero you'd see everything's right there so instead of that we'll do like 0.8 so this comes zero to one is within the chart and you could even do if you want it to like 1.5 and that would be values outside the truck but 0.8 was a good value that I thought okay so this baby makes it a little bit better these numbers right here that I'm highlighting aren't as squished but they're still not great so the other thing we can actually do is use this explode property and what explode does it breaks the graph apart a bit and so let's see what that does so we need a list that's as big as our yeah this could be a list it can be too full I'm going to say that was a tuple that's what I did when I was playing around with this doesn't shouldn't matter 0e 0.4 I'm gonna these are the values I want to get to but we'll start with doing them all point one and I'll reason to why I got to the values that I got - okay so explode equals explode so this is gonna split the graph apart so it's not actually touching so you see that so that's cool but really we don't need everything exploded we really just need these values that are very close together to explode a bit so what we can do to that is all right so we want under 125 and over 200 to be exploded a bit more as you can see those correspond to our labels here we don't really need 150 to 175 to explode it off because that's pretty set we don't really need 175 to 200 explode so what does this look like now and we'll have this explode a little bit this is this 12.6 1% cool and I think that this looks decently good now you can more easily see the different slivers and I guess it's tough because this sliver is so small the under one under 125 but think that you can more easily read this then you could win all of them or compact together and as in the other examples we can also add a title so weight distribution of FIFA players and we would want to spay that this is in pounds cool and also as you notice because I changed the style the header actually changed too so that's one thing to be a little bit careful with with the Styles but sometimes they can be very helpful all right because this video is getting kind of long we're gonna end it with one more graph but if there's other types of graphs that I didn't cover in this video or my previous video that you want to see let me know in the comments so we're gonna do a box and whiskers chart and really the question we're trying to ask here is how can we compare teams like the how good two different teams are in our set so looking back at our FIFA chart let's print that out so you can see that all these players have a club so we're trying to compare the relative strengths of different clubs and so there I thought that a good way to do that would be this to use this box and whiskers chart which shows shows your highest player or it shows your highest score if you have a box and whiskers chart it will show like the max it'll show the mean and then I'll show a box around where the middle 50% of scores or values were I think that's a good way to compare a team where you can kind of see okay where's the best player at where's their worst player at if everyone got injured and then the the middle box is kind of like the core of the team like how good are they so I think it's a good way to potentially compare two different teams maybe you can disagree with me and maybe there's a different way you would recommend but well that's what we're going to do in this example so to start let's uh take a couple teams and count their their overall scores for that club so we'll start with I was a good team to start with go up top we'll start with FC Barcelona so we're gonna do Barcelona equals FIFA Lok so we're going to filter out all the rows that have people from Barcelona so we can do FIFA club equals equals FC Barcelona yeah cool and let's see and then we want when we do our averaging we're gonna want to take their overall score so we can just filter by that too so now if we print out Barcelona because we're comparing the overall scores I think that's the most useful metric you see we just have a list of all the players on Barstow their relative their overall performance in FIFA cool then we could do that with another team let's say we do Real Madrid FIFA Club echoes equals Real Madrid and when you want to take their overall values as well cool so this is two different values we can see Madrid here and all those values okay so now let's plot a box and whiskers chart for that so to do that we do lot dot fox plot we pass in Barcelona and it will pass in Madrid so these are the all the values for Barcelona and all the values for Madrid and correspondent so what we see here so it will know this function will know that it needs to make a boxplot off of that so what does that look like okay one thing I noticed too this is also a residual effect of changing the style in one cell style is still changed I'm going to change the style of here back to our default style so default style looks like this graph doesn't really tell us too much right now but we'll get it to look a little better in a second and I want to do plot dot show so all this stuff is not there okay cool so this is a comparison of the two teams relatively you can see they're pretty dang even I'd say Barcelona has a slight advantage it seems like it's boxes a little bit higher than Real Madrid's but and also their best player is ranked better than really Madrid's best player but it's kind of annoying when it's just as one and two down here so let's add our labels so it's a list FC Barcelona and Real Madrid and then we can go into our box plot it has a labels property and you can double check the documentation to see this labels label is cool so now we have our two different box plots and so these two teams with this comparison I would just say that they look pretty similarly matched like they could go ahead to head probably be a pretty good game where you really see kind of the coolness of visualizing this data with a box and plot and like comparing two teams is when you take a team that's not as strong so my local team here in Boston is the New England Revolution they're an MLS soccer organization so I also pass in some scores for them and they're short tend names the revs so I'm gonna just call them that instead of typing out the whole New England Revolution every time and yeah I wonder which I say the England Revolution and we're going to take their overall and you could look at all the different teams in the datasheet and get like a certain team that you wanted to look at pretty easy yeah you just have to be careful that you type in everything properly and apparently I did something wrong oh okay yeah we also have passing the ribs here cool so now we have three teams and you can see that the New England Revolution is significantly worse than Real Madrid or Barcelona which is what we were wanting to show let's add a title here and we'll add some style to this chart as well professional soccer team comparison and because I'm from the States I call it soccer yeah you probably call football but that is besides the point FIFA over all reading over all hitting is our y-axis and we have our teams down here in the x-axis that looks pretty good to me okay what we could also change up potentially would be our tick marks okay or we could change the figure size maybe it would look better if it stretched out a bit more along the y-axis so we'll change our figure size a bit plot dot figure fig size equals we'll have the Y dimension be greater than the X and as you can see now it looks like this and this gives us a little bit more detail in the actual scores among the two teams but you can still see the New England Revolution is not as good and also this name is kind of running into each other so I'm gonna shorten New England Revolution to any revolution just kind of make it a little neater cool all right so the final thing we're gonna do is add a little bit of style to this graph so it looks a little bit better and you also if you wanted to yeah feel free to add more teams to this and like really see the differences between soccer teams and FIFA but we will add some color around the perimeters of these boxes maybe make this line a little thicker that represents this represents the median the orange line okay so what I found to be the best way to do this is I'm gonna save boxes as the result of this plot and then basically what we can do is this will store the three different values we've plotted here so it will help us style each individual box a little easier so for blocks in boxes boxes so you're getting the box parameter from what was saved here we want to set the color and then this also kind of shows you there's different ways to do these things like I could have passed color in here the problem with passing color within here is it would make everything the same color so if you wanted like go ahead and change a specific box I can have a list of colors it's easier or I guess maybe colors is not the best example because color is probably would allow you to pass in an array but for certain properties it's hard to set just one value at a time so I want to go ahead and set the color here so now you see that we have a different color around our box and they're similar to boxes here there's another parameter for like the longest strike here and the long strike here the whiskers of the box and whiskers plot but I think it could use to be a little thicker here and so to do that we're gonna do line width equals two and all these parameters I'm finding from the from the documentation okay cool so set edge color basically and let's say we wanted to change the fill color so change fill color and you could as I said before like you could iterate through these and through a list and like each time set a different color for each of these change filler color we can do something like set a face color we could all do this in one line as well but kind of just showing different ways you can go about things face color is another property this actually changes the inside of the box so what happens when I do easier easier or easier this is a grayish color unknown property face color this was something that I found super annoying when I was trying to do this so if you're trying to set the fee a box-and-whisker chart doesn't recognize I can't like recognize this property face color for whatever reason by default see actually if I set this patch artists property to true to allow you to change the face color so now we have these graphs I think that looks a bit better we could also change up the median line so you could do it within this format or another way we can do it is one of the properties of boxplot is median props so you can also pass in like a dictionary of median props and so we could pass in a line width here too so let's say we wanted this line to have the same thickness as the outline pass that in and there we go a lot of the styling stuff it's really a matter of google searching really like you can look at the documentation find some things from the documentation but I find is sometimes quicker is to say how do I change the outline color in a box and whiskers chart Google search that find a Stack Overflow post and then like from there figure out I can do this type of technique that's what works usually well for me all right so yeah now we have these three teams being compared I'm going to strengthen graph a little bit so you can see better I think this is a kind of a cool way to visualize how teams compare in FIFA all right I'm gonna end the video here hopefully these graphs were helpful hopefully it is helpful to combine the pandas and like the CSV is with the matplotlib library if you found this video useful make sure to throw it a big thumbs up and also don't forget to subscribe because I'll be posting a lot of videos in the near future
Original Description
Learn the basics of Matplotlib in this crash course tutorial. Matplotlib is an amazing data visualization library for Python. You will also learn how to apply Matplotlib to real-world problems.
✏️ This course was created by Keith Galli. Check out his YouTube channel: https://www.youtube.com/channel/UCq6XkhO5SZ66N04IcPbqNcw
🔗 Source Code: https://github.com/KeithGalli/matplotlib_tutorial/
🔗 Matplotlib Pyplot Documentation: https://matplotlib.org/api/_as_gen/matplotlib.pyplot.html
🔗 Font List: http://jonathansoma.com/lede/data-studio/matplotlib/list-all-fonts-available-in-matplotlib-plus-samples/
🔗 Matplotlib Style Options: https://matplotlib.org/3.1.0/gallery/style_sheets/style_sheets_reference.html
🔗 Kaggle Data Link: https://www.kaggle.com/karangadiya/fifa19
Install libraries Needed for this video:
Option 1:
Open up a terminal window and type
pip install matplotlib
pip install numpy
pip install pandas
Option 2:
Download anaconda which will contain all the packages we need. A video on how to do this is here: https://youtu.be/YJC6ldI3hWk
--
Learn to code for free and get a developer job: https://www.freecodecamp.org
Read hundreds of articles on programming: https://freecodecamp.org/news
❤️ Support for this channel comes from our friends at Scrimba – the coding platform that's reinvented interactive learning: https://scrimba.com/freecodecamp
Playlist
Uploads from freeCodeCamp.org · freeCodeCamp.org · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
React: Production Server Setup Part 2 - Live Coding with Jesse
freeCodeCamp.org
cookies vs localStorage vs sessionStorage - Beau teaches JavaScript
freeCodeCamp.org
Browser history tutorial - Beau teaches JavaScript
freeCodeCamp.org
Graph Data Structure Intro (inc. adjacency list, adjacency matrix, incidence matrix)
freeCodeCamp.org
React: Parameterized Routing with Next.js - Live Coding with Jesse
freeCodeCamp.org
React: Dealing with jQuery Issues - Live Coding with Jesse
freeCodeCamp.org
setInterval and setTimeout: timing events - Beau teaches JavaScript
freeCodeCamp.org
Browser and Device Testing - Live Coding with Jesse
freeCodeCamp.org
Last Minute Updates - Live Coding with Jesse
freeCodeCamp.org
Post Launch Updates - Live Coding with Jesse
freeCodeCamp.org
React: Setting Up Google Analytics - Live Coding with Jesse
freeCodeCamp.org
React: Masonry Layout - Live Coding with Jesse
freeCodeCamp.org
Load Balancing Digital Ocean Droplets - Live Coding with Jesse
freeCodeCamp.org
try, catch, finally, throw - error handling in JavaScript
freeCodeCamp.org
Load Balancing: SSL Passthrough Setup - Live Coding with Jesse
freeCodeCamp.org
Graphs: breadth-first search - Beau teaches JavaScript
freeCodeCamp.org
React: Masonry Layout Part 2 - Live Coding with Jesse
freeCodeCamp.org
React: WordPress API Live Search - Live Coding with Jesse
freeCodeCamp.org
Creating WordPress Custom Post Types - Live Coding With Jesse
freeCodeCamp.org
Dates - Beau teaches JavaScript
freeCodeCamp.org
Miscellaneous Front End Updates - Live Coding with Jesse
freeCodeCamp.org
Merging a Pull Request from GitHub - Live Coding with Jesse
freeCodeCamp.org
React + Prettier + Standard JS - Live Coding with Jesse
freeCodeCamp.org
React: Sortable Responsive Table - Live Coding with Jesse
freeCodeCamp.org
Geolocation Sorting by Distance - Live Coding with Jesse
freeCodeCamp.org
Tradeoff Matrix - Agile Software Development
freeCodeCamp.org
The Definition of Ready - Agile Software Development
freeCodeCamp.org
Getting first React job without experience - Ask Preethi
freeCodeCamp.org
React: Google Analytics Click Tracking - Live Coding with Jesse
freeCodeCamp.org
Submitting a PR to an Open Source Project - Live Coding with Jesse
freeCodeCamp.org
Should I go back to school to get CS degree? - Ask Preethi
freeCodeCamp.org
Hero Section CSS Changes - Live Coding with Jesse
freeCodeCamp.org
Working Agreement - Agile Software Development
freeCodeCamp.org
A day at Pennybox with Co-Founder Reji Eapen
freeCodeCamp.org
React: Sorting and Filtering Data - Live Coding with Jesse
freeCodeCamp.org
React: Sorting and Filtering Data Part 2 - Live Coding with Jesse
freeCodeCamp.org
React: Building a New UI - Live Coding with Jesse
freeCodeCamp.org
Definition of Done - Agile Software Development
freeCodeCamp.org
Getting started with jQuery (tutorial) - Beau teaches JavaScript
freeCodeCamp.org
Making a React Blog with WordPress Content - Live Coding with Jesse
freeCodeCamp.org
React, NextJS, CSS - Live Coding with Jesse
freeCodeCamp.org
jQuery events - Beau teaches JavaScript
freeCodeCamp.org
React/NextJS Routing and WordPress API Custom Types - Live Coding with Jesse
freeCodeCamp.org
React: Working with API Data - Live Coding with Jesse
freeCodeCamp.org
React: Refactoring Components - Live Streaming with Jesse
freeCodeCamp.org
jQuery effects - Beau teaches JavaScript
freeCodeCamp.org
More React Refactoring - Live Coding with Jesse
freeCodeCamp.org
animate in jQuery - Beau teaches JavaScript
freeCodeCamp.org
"Finishing" My React Site - Live Coding with Jesse
freeCodeCamp.org
Starting a New React Project (P2D1) - Live Coding with Jesse
freeCodeCamp.org
React Project 2 Day 2: Learning Material UI - Live Coding with Jesse
freeCodeCamp.org
The Agile Manifesto - Agile Software Development
freeCodeCamp.org
jQuery: get and set with http, text, val, and attr - Beau teaches JavaScript
freeCodeCamp.org
React Project 2 Day 3 - Live Coding with Jesse
freeCodeCamp.org
The INVEST approach to product backlog items
freeCodeCamp.org
React Project 2 Day 4 - Live Coding with Jesse
freeCodeCamp.org
Chickens and Pigs - Agile Software Development
freeCodeCamp.org
React Project 2 Day 5 - Live Coding with Jesse
freeCodeCamp.org
jQuery: add and remove DOM elements - Beau teaches JavaScript
freeCodeCamp.org
React Project 2 Day 6 - Live Coding with Jesse
freeCodeCamp.org
More on: Data Literacy
View skill →
🎓
Tutor Explanation
DeepCamp AI