- dataframe直接绘图
参考: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.html
dataframe画图默认是每一列为一个整体(图例中的一条线),x值是索引值。
1.1 df.plot(kind=‘hist’) 等价于 df.hist(); 但可以df.plot(kind=‘line’) ,并不能df.line()
常用kind:‘line’ : line plot (default)
‘bar’ : vertical bar plot
‘barh’ : horizontal bar plot
‘hist’ : histogram
‘box’ : boxplot
‘kde’ : Kernel Density Estimation plot
‘density’ : same as ‘kde’
‘area’ : area plot
‘pie’ : pie plot
‘scatter’ : scatter plot
‘hexbin’ : hexbin plot
1.2 dataframe的某列变为时间序列值:
df[‘date’] = pd.to_datetime(df[‘date’],format=’%Y-%m-%d’)
1.3 坐标轴标度变成log:
df.plot(logx=True)
df.plot(logy=True)
df.plot(loglog=True)
dataframe直接plot好像不能改变坐标轴的刻度显示不全的问题。
- dataframe取列绘图
2.1 解决x轴显示不完全的问题:
import matplotlib.dates as mdate
fig1 = plt.figure(figsize=(15,5))
plt.xticks(pd.date_range(‘2019-03-05’,‘2019-04-28’),rotation=90)#设置时间标签显示格式
ax1 = fig1.add_subplot(1,1,1)
ax1.xaxis.set_major_formatter(mdate.DateFormatter(’%Y-%m-%d’))#设置时间标签显示格式
plt.plot(df[‘unique_room_num’],‘o-’)
plt.show()