1.更改日期格式函数
import pandas as pd
unrate = pd.read.csv('unrate.csv')
unrate['DATE'] = pd.to_datetime(unrate['DATE'])#.to_datetime()函数用于更改时间格式
print(unrate.head(12))
plt.plot(unrate['DATE'],unrate['VALUE'] #左边参数X轴,右边参数Y轴
plt.show()
2.修改图的外观
import matplotlib.pyplot as plt
plt.plot(unrate['DATE'],unrate['VALUE'] #左边参数X轴,右边参数Y轴
plt.xticks(rotation=45)#指定横坐标的参数呈45°书写
plt.xlabel('month')#x轴的label
plt.ylabel('rate')#y轴的label
plt.title('month unemployment trends,1948')#图的标题
plt.show()
3.子图操作
import matplotlib.pyplot as plt
fig = plt.figure()#本句指定的是当前画图域的界面
ax1 = fig.add_subplot(2,2,1)#(2,2,1)指两行两列的第一个子图
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(2,2,3)
ax4 = fig.add_subplot(2,2,4)
#子图设置部分
fig = plt.figure(figsize=(3,6))#本句指定的是当前画图域的界面的大小定义
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
ax1.plot(np.random.randint(1,5,5),np.arange(5))
ax1.plot(np.random.randint(10)*3,np.arange(10))
plot.show()
#同一图多条线
fig = plt.figure(figsize=(3,6))
plt.plot(unrate[0:12]['MONTH'],unrate[0:12]['VALUE'],c='red')
plt.plot(unrate[12:24]['MONTH'],unrate[12:24]['VALUE'],c='blue')
plt.show()
#图例的画法
plt.legend(loc='best')#loc函数指的是图例位置设定
4.柱形图
#竖着的柱形图
import matplotlib.pyplot as plt
from numpy import arange
num_cols = ['rt','mc','IMDB','Fandango','Fandango_Stars'] #选择数据列
bar_heights = num_cols.ix[0,num_cols].values
print(bar_heights)
bar_positions = arange(5)+0.75 #每个柱离0值的距离
print(bar_positions)
fig,ax = plt.subplots()
ax.bar(bar_positions,bar_heights,0.3)#0.3指的是柱形图柱的宽度
plt.show()
#横着的柱形图
ax.barh(bar_positions,bar_heights,0.3)#0.3指的是柱形图柱的宽度
5.散点图
fig = plt.figure(figsize=(5,10)
ax1 = fig.add_subplot(2,1,1)
ax2 = fig.add_subplot(2,1,2)
ax1.scatter(norm_reviews['Fandango'],norm_reviews['RT'])
ax1.set_xlabel('Fandango')
ax1.set_ylabel('RT')
ax2.scatter(norm_reviews['RT_user'],norm_reviews['Fandango_Ratingvalue'])
ax2.set_xlabel('RT_user')
ax1.set_ylabel('Fandango_Ratingvalue')
plt.show()
6.箱型图
num_cols = ['rt','mc','IMDB','Fandango','Fandango_Stars']
fig,ax = plt.subplot()
ax.boxplot(norm_reviews[num_cols].values)
ax.set_xticklabels(num_cols, rotation=90)
ax.set_ylim(0,5)
plot.show()
7.细节设置
#去掉刻度小横线
ax.tick_param(bottom="off",top="off",left="off",right="off")
#在图中加字
ax.text(2005,87,'MEN') #图中(2005,87)的位置加字“MEN”