Make a Scatter Plot in matplotlib with dates on x axis and values on y

前端 未结 3 891
予麋鹿
予麋鹿 2020-12-06 18:50

I am having trouble making a scatter plot that has from a date array and a bunch of PM 2.5 values. My lists would look like the following:

dates = [\'2015-         


        
相关标签:
3条回答
  • 2020-12-06 19:11

    a pandas dataframe is more common usually. so it's efficient to me:

    import pandas as pd
    dates = ['2015-12-20','2015-09-12']  
    PM_25 = [80, 55]
    data = pd.DataFrame({'dates':pd.to_datetime(dates),'PM_25':PM_25})
    data.plot(x='dates',y='PM_25',marker='o',linestyle='none')
    

    and you can define more like this:

    data.plot(x='dates',y='PM_25',marker='o',linestyle='none',color='red',ms=3)
    
    0 讨论(0)
  • 2020-12-06 19:13
    import pandas as pd
    dates = ['2015-12-20','2015-09-12']  
    PM_25 = [80, 55]
    dates = [pd.to_datetime(d) for d in dates]
    
    plt.scatter(dates, PM_25, s =100, c = 'red')
    

    s sets the size c sets the color

    There are a whole bunch of other args as well: http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.scatter

    0 讨论(0)
  • 2020-12-06 19:23

    If a plot with data that contains dates, you can use plot_date

    Similar to the plot() command, except the x or y (or both) data is considered to be dates, and the axis is labeled.

    First convert list to date time, as @RSHARP showed,

    dates = [pd.to_datetime(d) for d in dates]
    

    then you can use plot_date

    plt.plot_date(dates, PM_25, c = 'red')
    
    0 讨论(0)
提交回复
热议问题