I hope everyone finds this video helpful. The next video of the series will be posted tomorrow at the same time. The next video will cover subplots. Subplots are used to work with plots in a more object-oriented manner and also allow us to plot multiple different graphs at the same time. I'd like to thank Brilliant for sponsoring this series. If you'd like to check them out then you can sign up with this link and get 20% off your premium subscription: brilliant.org/cms
@@anonymous-kl1un Tomorrow's video will be the last video for the time being. If I get many requests to cover topics that I didn't then I can continue adding to this series.
One of the main reason why python is one of the best is because of its huge community contributing in creating libraries and matplotlib is definitely one of the finest library for data visualization
Whenever I got stuck then first channel I look for is Corey Schafer.... Your teaching style is something which no one seems to be matching.... So simple to understand any kind of difficult or complex topic.... Great Work :-)
Nice videos. A tip for this one that might be useful: You can slice the data follow only the last X number of entries rather than seeing all the data bunch up tighter and tighter. Let's say you only care about the last minute... Add a `[-60:]` on the end of the `x=...`, `y1=...`, and `y2=...` lines.
This is the toughest video in this series. I spent hours trying to figure it out but to no avail. I will pass and come back in the future. Perhaps by then, I would have gained more knowledge that will help me understand it. Excellent videos. Thank you!
Corey, thanks... anyone who chose to use jupyter notebooks, incase your plots are not showing especially the live plots....and getting a mesg such as "figure size 432x288 with axes 0", would recommend you save the file you want to run as py file and then run it directly from the terminal....ensure though that in your terminal you have installed matplotlib and pandas via pip....
I learn a lot from your vids. Literally, a lot. I hope you keep updating your tutorial more. This clip helps me understand how the plot updating itself. Thanks million times.
Just simply love the idea in this video. Made it to a rolling (scrolling?) plot - if the data reaches 30+, it only plots the last 30, looks interesting. Thank you Corey, you are brilliant! Edit: changet it to 200 and added a try/except so that the plot can be started before the csv generation. I love this :) Thank you again Corey for this amazing video.
once again it so happens that when i search forrealtime plotting, it came up this great tutorial and only until in the mid of video that i found out its THE Corey Schafer - the better than paid courses Master Coach. Salute.
16:48 > _"there's a way we'd've updated ... w/o clearing out the axis ... & just update the lines on the axis with live data"_ thanks a lot for mentioning that clearly and not brushing it under the rug. i was thinking the same the whole time as clearing and redrawing all the data seems pretty inefficient to me
Corey love your videos! Saved my butt a few times. Feedback: Can you show the end result of what you want to accomplish before jumping into the code? I know I can fast forward to the end...it just flows better IMO
You can put a try-except in the animate function which will prevent the program from crashing before any data has been written to the data.csv file. That way you can start the data logging program before any data is generated.
thanks for this masterpiece, however wondering how to update the most recent value on graph instead of plotting the whole graph again and again with the new values.
1 Query !! If I want to plot the data that's not live but I want the effects like (The line is moving in upward or downward data) How can I plot it ? any suggestions ?
@@coreyms Can you explain this a bit more? Normally, an input argument is used in the definition of the function, but I see that is not the case here....however, when I try to run my code without "i", then the plot is empty, so it's obviously useful...?
@@mangoyumm Hey there, actually the "i" here refers to 'self' as you know that you need to pass the "self" parameter in python function is used to access arguments inside the function so now if you use self instead of "i" then you can see that the plot can be plotted and without it the function arguments are not accessed. I hope you find this helpful. Happy Coding. Also you can use anything instead of self .
Girard Aquino yes that’s by default in python but whenever you are calling a function in class you need to write self . Outside the class if you write self and then execute the program you will get a error stating “ required 1 argument but 2 were given or 2 argument 1 was given “ . But other than that it’s by default in python .Hope it helps
this is wonderful, I really love your videos! I had a question for you tho... have you noticed a degradation in plotting after 1000+ data points? I'm running my tests in an old old system and running the data generator and the plot scripts at the same time causes my plot to plot ever so slowly... I gather it's the resources on my computer, but I'm thinking long term if I wanted to plot say a sensor with a "better" computer, will I have similar issues when acquiring this data? Thanks!
I followed your teaching every step of the way, and I am experiencing difficulty. The csv file is created and data is written but with empty rows in-between. I believe these empty rows tend to trigger an error around the x-index whenever I plot the series. Would you be kind enough to proffer a solution to this?
Thank you. Couple of questions: What does the parameter i in the animate function refer to. What argument (if any) are we passing to this function when we call it. How is the animate function actually being called by what seems to be the animate argument for FuncAnimation. Why is the FuncAnimation function assigned to the variable Ani; We don't seem to use Ani anywhere else. Thanks
Excellent and very informative video Corey, thanks. May I ask is there a way to make the graph 'scroll' once a set number of data items have been reached. So say we always wanted to display the last 200 readings; rather than have the plot to continue to grow on the x axis, could we show the last 200 in a real-time plot?
Thanks a dozen times, with the guide of your tutorial series "Python Django" I was able to build my first website in django. I wish you could do an API series with Django Rest Framework, I get really challenged when it comes to db modeling and normalization.
very nice video, but if I understand correctly, you're reading the _whole_ csv file every second, not just new values, also re-plotting the whole series every update, would it be possible to read in the new lines and update the plot instead of re-creating it?
Great video series. Learned a lot not just about code but about the different types of graphics and there functions. How would you implement this with Django? I have data that would be nice to have other people in the company to see whenever they want too and would just have to hit a website to see it.
Another nice video... This is so useful! I have a folder that gets xlsx files every 5minutes. Each xlsx has the same number of tabs and x and y columns. How can I realtime plot data as new csv's come in. Thanks
I am a beginner and I don't know how to get data from (cloud/online) database to process it and then plot it simultaneously. My data have to change very fast, for the project. How can I do this, do you know any tutorial? Thanks
Amazing video! I had a question - Is it possible to get Average of the live data and show that as annotation or a text on the graph (which keeps updating along with the graph)?
I hope everyone finds this video helpful. The next video of the series will be posted tomorrow at the same time. The next video will cover subplots. Subplots are used to work with plots in a more object-oriented manner and also allow us to plot multiple different graphs at the same time.
I'd like to thank Brilliant for sponsoring this series. If you'd like to check them out then you can sign up with this link and get 20% off your premium subscription:
brilliant.org/cms
waiting for subplots :)
How many more to go in this series?
@@ahmedhassanahmedhassan6495 Subplots tutorial will be released tomorrow morning
@@anonymous-kl1un Tomorrow's video will be the last video for the time being. If I get many requests to cover topics that I didn't then I can continue adding to this series.
you are doing great work,keep it up
For those using Jupyter Notebook, adding this line at the top of the notebook will make the graph appear:
%matplotlib notebook
Thanks :D
Thank you John, I was struggling with this for two days and wondered why the graph is not showing. Why do we have to call "notebook"?
Dude thank you sm, you're a lifesaver!!!
Thank you sooo much bro but why notebook ??
Thanks a lot mate
This was another great tutorial, Corey. And yes, please do a video about plotting real time data from an API. 😊 Thank you for all your hard work.
One of the main reason why python is one of the best is because of its huge community contributing in creating libraries and matplotlib is definitely one of the finest library for data visualization
Hey I know python....can you tell me what is the importance of i in animate function
I donno wat is passed through that parameter
Whenever I got stuck then first channel I look for is Corey Schafer.... Your teaching style is something which no one seems to be matching.... So simple to understand any kind of difficult or complex topic.... Great Work :-)
Nice videos. A tip for this one that might be useful: You can slice the data follow only the last X number of entries rather than seeing all the data bunch up tighter and tighter. Let's say you only care about the last minute... Add a `[-60:]` on the end of the `x=...`, `y1=...`, and `y2=...` lines.
oh dude, this info is great! thank you!
amazing. thanks for the tip. really helful
There is a special place in heaver for guys like you. Thank you so much. This is by far one of best things I saw on RUclips
This is the toughest video in this series. I spent hours trying to figure it out but to no avail. I will pass and come back in the future. Perhaps by then, I would have gained more knowledge that will help me understand it. Excellent videos. Thank you!
Thank you very much. Your videos are better than most paid courses. That is a fair comment.
Corey, thanks...
anyone who chose to use jupyter notebooks, incase your plots are not showing especially the live plots....and getting a mesg such as "figure size 432x288 with axes 0", would recommend you save the file you want to run as py file and then run it directly from the terminal....ensure though that in your terminal you have installed matplotlib and pandas via pip....
I learn a lot from your vids. Literally, a lot. I hope you keep updating your tutorial more. This clip helps me understand how the plot updating itself. Thanks million times.
Congrats on 300k, your videos are straight to the point and explained extremely well!
Thanks!
Just simply love the idea in this video. Made it to a rolling (scrolling?) plot - if the data reaches 30+, it only plots the last 30, looks interesting. Thank you Corey, you are brilliant! Edit: changet it to 200 and added a try/except so that the plot can be started before the csv generation. I love this :) Thank you again Corey for this amazing video.
once again it so happens that when i search forrealtime plotting, it came up this great tutorial and only until in the mid of video that i found out its THE Corey Schafer - the better than paid courses Master Coach. Salute.
This is exactly what I'm looking for. It worked for me. Many thanks sir
Thanx mman,you'r helping lot of people.learned a lot from your channel and would like to pay it forward in the future just by sharing what i learned😊
That would be great!
16:48 > _"there's a way we'd've updated ... w/o clearing out the axis ... & just update the lines on the axis with live data"_
thanks a lot for mentioning that clearly and not brushing it under the rug. i was thinking the same the whole time as clearing and redrawing all the data seems pretty inefficient to me
To make the graph appear when using spyder, add %matplotlib qt
to the top of your file.
you made my day
@@louis-mbras8986 literally mine to
Awesome speaker, simple explanations, huge- huge thanks!!!
Excellent video. Thanks so much for making this!
Great video.
Would be interesting to see how can one integrate this updating plot within a PyQT GUI.
I really love this series!
Thanks so much for your help!
Great video Corey, thanks!
man you are awesome at showing and explaining
Dude you helped me out a lot!!! Thank you so much for taking the time to make this video. Subscribed to your channel
Can you please make tutorials on opencv library.
This is so COOL! I'm gonna try this at work tomorrow.
"Corey Schafer"
nice
Thank you for saving our time
What a good explanation. Thanks
Great tutorial!! Just what I needed!!
Thanks man, this was really helpful.
No doubt why he is one of the best
Thank you very much Sir, it means a lot to my project.
great totorial, thank you!
fantastic explanation! thank you
Corey love your videos! Saved my butt a few times. Feedback: Can you show the end result of what you want to accomplish before jumping into the code? I know I can fast forward to the end...it just flows better IMO
Great tutorial as well. You should teach in university. I wish you could be my professor
he does. he is. this is youtube presenting us dr. cms.
Great tutorial! Thanks Corey! Just subscribed :)
thanks man! Really helpful video :)
Wow it's really great video.. Thank you so much sir..
Excellent video. Would be nice to show how to plot a scrolling window on the data, IE just show the last 'x' values.
So cool, thanks you so much for the video 🥰
Great tut!!!
One question, what is 'i' inside function animate()??
thank you very much for this playlist sir, it was very helpful for me
After finishing this series I'm gonna watch your pandas tutorials
Great! Thanks for that!
great video sir
Great! Thank you!
Very clear tutorial
You can put a try-except in the animate function which will prevent the program from crashing before any data has been written to the data.csv file. That way you can start the data logging program before any data is generated.
anixous for API class. This video was super helpfull. Thanks
thaank youuu! this save my final work today
The starting code is not working in jupyter notebook. I am simply getting a blank graph.
i'm getting this error
Amazing Work!
API PLEASE!!!
Thank you, professional for your help😘😘😘🙏🙏
Matplotlib is a great series, thanks! How would you plot a fixed period, say like the last hour of data for a time series so it keeps rolling along?
Thank YOU!!!!!
that was helpful ,thank you
really nice corey , but i have a dummy question why you not execute the function animate and also why you don't pass a value for the argument( i ) ?
thanks for this masterpiece, however wondering how to update the most recent value on graph instead of plotting the whole graph again and again with the new values.
Nice one 👍👍👍
Great!! Thanks!😁
Go seaborn tutorial bro
Excellent
Hi how to plot real time data such that only certain amount of samples are shown ... Here as time goes on the graph would have so many values
1 Query !!
If I want to plot the data that's not live but I want the effects like (The line is moving in upward or downward data)
How can I plot it ? any suggestions ?
Hi Corey, May i know the meaning of argument "i" in animate function?
That is the interval. It’s something that is automatically passed in by the library
@@coreyms Can you explain this a bit more? Normally, an input argument is used in the definition of the function, but I see that is not the case here....however, when I try to run my code without "i", then the plot is empty, so it's obviously useful...?
@@mangoyumm Hey there, actually the "i" here refers to 'self' as you know that you need to pass the "self" parameter in python function is used to access arguments inside the function so now if you use self instead of "i" then you can see that the plot can be plotted and without it the function arguments are not accessed. I hope you find this helpful. Happy Coding. Also you can use anything instead of self .
@@sudeeppatel7463 would it have mattered if he just left it blank? In which case that would refer to self right?
Girard Aquino yes that’s by default in python but whenever you are calling a function in class you need to write self . Outside the class if you write self and then execute the program you will get a error stating “ required 1 argument but 2 were given or 2 argument 1 was given “ . But other than that it’s by default in python .Hope it helps
Thanks man!!
Thank you !
Very nice video. It would be nice to have this display through a web server that could be made available on a local network.
message comes in consol and nothing gets plotted when i tried this code
please help
other than that your explanation is pretty good
How can we plot live data in the graph without saving it in the file?
this is wonderful, I really love your videos! I had a question for you tho... have you noticed a degradation in plotting after 1000+ data points? I'm running my tests in an old old system and running the data generator and the plot scripts at the same time causes my plot to plot ever so slowly... I gather it's the resources on my computer, but I'm thinking long term if I wanted to plot say a sensor with a "better" computer, will I have similar issues when acquiring this data? Thanks!
Hi! I'm stuck with the exact same problem, did you find any work-around in these months?
I followed your teaching every step of the way, and I am experiencing difficulty.
The csv file is created and data is written but with empty rows in-between.
I believe these empty rows tend to trigger an error around the x-index whenever I plot the series.
Would you be kind enough to proffer a solution to this?
Great!
Thank you. Couple of questions:
What does the parameter i in the animate function refer to.
What argument (if any) are we passing to this function when we call it.
How is the animate function actually being called by what seems to be the animate argument for FuncAnimation.
Why is the FuncAnimation function assigned to the variable Ani; We don't seem to use Ani anywhere else.
Thanks
Excellent and very informative video Corey, thanks. May I ask is there a way to make the graph 'scroll' once a set number of data items have been reached. So say we always wanted to display the last 200 readings; rather than have the plot to continue to grow on the x axis, could we show the last 200 in a real-time plot?
Can you please tell why you add input argument 'i' in your animate function? I don't see any use of 'i'
U should have shown csv file, how values there n how it's plotting through code...
Would be easy to understand..
Thanks a dozen times, with the guide of your tutorial series "Python Django" I was able to build my first website in django.
I wish you could do an API series with Django Rest Framework, I get really challenged when it comes to db modeling and normalization.
Thank you sir
Somple random data graph is squeezing because previous values are not vanishing, still it show 0 as starting point.
Hi Corey Schafer, please can you add a tutorial about account checker how its work and how we make it with python
if you are using Pycharm disable show plots in new tool window in python scientific to show plot
Anyone knows the meaning of '' ? I am using the default codes from Corey's github account.
if you're on jupyter notebook, use %matplotlib notebook at the top of your code. It should work fine.
@@leocallebaut3548 But it shows me blank figure
cool video. why didn't you use asyncio instead of using two separate programs ? thanks.
Did you ever get around to making that video with the API? Would be great for real time stock prices for example
A nice video, and yes please do an API live plotting video. Maybe google analytics or RUclips ApI. I prefer RUclips Api. Thanks
very nice video, but if I understand correctly, you're reading the _whole_ csv file every second, not just new values, also re-plotting the whole series every update, would it be possible to read in the new lines and update the plot instead of re-creating it?
great.
Great video series. Learned a lot not just about code but about the different types of graphics and there functions. How would you implement this with Django? I have data that would be nice to have other people in the company to see whenever they want too and would just have to hit a website to see it.
What an amazing content!!! I would like to bring those graphs on my website, have you made a video on that topic? Is it possible?
Hey Corey!
Thank you for everything. Learnt a lot from your videos, could you post some videos on NLTK Module of python?
Thanks again:)
Another nice video...
This is so useful!
I have a folder that gets xlsx files every 5minutes. Each xlsx has the same number of tabs and x and y columns.
How can I realtime plot data as new csv's come in. Thanks
Thanks for great presentation. How can I do this with an existing pandas dataframe so to simulate data plot over time?
after you added your CSV file 11:28 why did you not remove the 'index=count()' there isn't any use for it anymore in the code right?
I am a beginner and I don't know how to get data from (cloud/online) database to process it and then plot it simultaneously. My data have to change very fast, for the project. How can I do this, do you know any tutorial? Thanks
Amazing video!
I had a question - Is it possible to get Average of the live data and show that as annotation or a text on the graph (which keeps updating along with the graph)?