问题
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-12-20','2015-09-12']
PM_25 = [80, 55]
回答1:
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
回答2:
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')
来源:https://stackoverflow.com/questions/38256750/make-a-scatter-plot-in-matplotlib-with-dates-on-x-axis-and-values-on-y