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 :-)
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!
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
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.
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....
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.
@@coreyms can you please tell me, that how could I do that command on the command prompt, as I enter the python data_gen.py.... it says there is no such directory.. please help
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.
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.
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.
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
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.
@@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
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
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 ?
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.
@Corey Schafer, I am having trouble to graph values of two parameters generated from python code included loops with multiple if statements. each iteration generate one value of required parameter, and graphing these against the variable responsible of change in values is need! looking for help.
I have a problem at 6:14. When I run the code it does not display the plot. Instead it just says . I don't know what I am doing wrong. I am using python 3.7
I finally figured it out. Go to Tools -> Preferences -> IPython console -> Graphics -> click dropdown next to 'Backend' and select "Automatic". Then click apply, close Spyder, and reopen. I'm thinking it should work for other IDE's the same way.
May be you use IPython (Jupyter Notebook) Remove the "plt.show()" from your code the plot will display. and that is not an error, it's a memory location of plot.
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!
Can you help me? I'm facing an error. I've the exact code that you have at 6:12 Error: UserWarning: Animation was deleted without rendering anything. This is most likely unintended. To prevent deletion, assign the Animation to a variable that exists for as long as you need the Animation. warnings.warn(
Hello Corey, if possible please make video on fetching real time stock data(open, high , low and LTP for 50 stocks) with the help of web scraping .Thanks in advance.
Is is possible to create a live-time histogram of live data? For example if I had a servo that rotated 10 degrees every 15 min and detectors where attached to this, could i create a bar graph that plotted the detectors live data stream in accordance to the current angle the detectors are positioned?
If someone is using jupyter notebook for plotting and gets an error (or nothing is shown at all) - just add following at the top of a file: %matplotlib notebook %matplotlib notebook (two times!)
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
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
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.
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 :-)
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!
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 TH-cam
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
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
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....
Thank you very much. Your videos are better than most paid courses. That is a fair comment.
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.
Congrats on 300k, your videos are straight to the point and explained extremely well!
Thanks!
@@coreyms can you please tell me, that how could I do that command on the command prompt, as I enter the python data_gen.py.... it says there is no such directory.. please help
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.
Great video.
Would be interesting to see how can one integrate this updating plot within a PyQT GUI.
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
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.
Awesome speaker, simple explanations, huge- huge thanks!!!
Can you please make tutorials on opencv library.
man you are awesome at showing and explaining
Great video Corey, thanks!
Go seaborn tutorial bro
What a good explanation. Thanks
This is exactly what I'm looking for. It worked for me. Many thanks sir
I really love this series!
Thanks so much for your help!
Thank you for saving our time
Excellent video. Thanks so much for making this!
fantastic explanation! thank you
No doubt why he is one of the best
Thanks man, this was really helpful.
Great tutorial!! Just what I needed!!
Dude you helped me out a lot!!! Thank you so much for taking the time to make this video. Subscribed to your channel
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.
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!
Very clear tutorial
great video sir
great totorial, thank you!
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?
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! Thanks Corey! Just subscribed :)
Great tut!!!
Excellent video. Would be nice to show how to plot a scrolling window on the data, IE just show the last 'x' values.
Thank you very much Sir, it means a lot to my project.
Wow it's really great video.. Thank you so much sir..
thanks man! Really helpful video :)
Nice one 👍👍👍
Great! Thanks for that!
thank you very much for this playlist sir, it was very helpful for me
This is so COOL! I'm gonna try this at work tomorrow.
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.
So cool, thanks you so much for the video 🥰
Amazing Work!
API PLEASE!!!
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
Great! Thank you!
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.
thaank youuu! this save my final work today
"Corey Schafer"
nice
U should have shown csv file, how values there n how it's plotting through code...
Would be easy to understand..
Very nice video. It would be nice to have this display through a web server that could be made available on a local network.
that was helpful ,thank you
Great!! Thanks!😁
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
Hi Corey Schafer, please can you add a tutorial about account checker how its work and how we make it with python
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
Excellent
Thank you, professional for your help😘😘😘🙏🙏
Thanks man!!
Can you please tell why you add input argument 'i' in your animate function? I don't see any use of 'i'
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 ?
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 ) ?
if you are using Pycharm disable show plots in new tool window in python scientific to show plot
Thank you sir
Somple random data graph is squeezing because previous values are not vanishing, still it show 0 as starting point.
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
Thank you !
The starting code is not working in jupyter notebook. I am simply getting a blank graph.
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.
@Corey Schafer,
I am having trouble to graph values of two parameters generated from python code included loops with multiple if statements. each iteration generate one value of required parameter, and graphing these against the variable responsible of change in values is need! looking for help.
Thank YOU!!!!!
After finishing this series I'm gonna watch your pandas tutorials
message comes in consol and nothing gets plotted when i tried this code
please help
other than that your explanation is pretty good
Did you ever get around to making that video with the API? Would be great for real time stock prices for example
One question, what is 'i' inside function animate()??
What is that (i) argument for the animate function? What are you passing into the function? It throws an error when I remove it. Thanks.
Great!
I have a problem at 6:14. When I run the code it does not display the plot. Instead it just says . I don't know what I am doing wrong. I am using python 3.7
I finally figured it out. Go to Tools -> Preferences -> IPython console -> Graphics -> click dropdown next to 'Backend' and select "Automatic". Then click apply, close Spyder, and reopen. I'm thinking it should work for other IDE's the same way.
May be you use IPython (Jupyter Notebook)
Remove the "plt.show()" from your code the plot will display.
and that is not an error, it's a memory location of plot.
Which programa are you using to write the code?
cool video. why didn't you use asyncio instead of using two separate programs ? thanks.
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?
Can you help me? I'm facing an error.
I've the exact code that you have at 6:12
Error:
UserWarning: Animation was deleted without rendering anything. This is most likely unintended. To prevent deletion, assign the Animation to a variable that exists for as long as you need the Animation.
warnings.warn(
Hello Corey, if possible please make video on fetching real time stock data(open, high , low and LTP for 50 stocks) with the help of web scraping .Thanks in advance.
Is using asyncio for writing the data better performance wise? As is will not block the threat it's at during the sleep?
How can we plot live data in the graph without saving it in the file?
@6:14 -- running the script gives me the output, . It does not return an updating chart. can i know what am I missing?
if you are using jupyter notebook try using either %matplotlib inline or %matplotlib notebook
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?
Is is possible to create a live-time histogram of live data? For example if I had a servo that rotated 10 degrees every 15 min and detectors where attached to this, could i create a bar graph that plotted the detectors live data stream in accordance to the current angle the detectors are positioned?
If someone is using jupyter notebook for plotting and gets an error (or nothing is shown at all) - just add following at the top of a file:
%matplotlib notebook
%matplotlib notebook
(two times!)
A nice video, and yes please do an API live plotting video. Maybe google analytics or TH-cam ApI. I prefer TH-cam Api. Thanks
Thanks for great presentation. How can I do this with an existing pandas dataframe so to simulate data plot over time?
sir may i know how to plot graph from the video input (no of peoples come inside per sec under the surveylence camera)