1,折线图的绘制
import pandas as pd
from matplotlib import pyplot as plt
unrate = pd.read_csv("unrate.csv")
unrate["DATE"] = pd.to_datetime(unrate["DATE"])
unrate.head(12)
first_twelve = unrate[0:12]
plt.plot(first_twelve["DATE"],first_twelve["VALUE"])
plt.xlabel("Month") #x轴单位
plt.ylabel("Unemployment rate")
plt.title("Monthly Unemployment rate") #坐标系标题
plt.xticks(rotation = 45) #x轴坐标内容偏移45度
plt.show()
2,子图操作
from matplotlib import pyplot as plt
import pandas as pd
#创建一个分图,并显示出来
fig = plt.figure()
ax1 = fig.add_subplot(4,3,1)
ax2 = fig.add_subplot(4,3,2)
ax2 = fig.add_subplot(4,3,6)
plt.show
#在分图内随机画线
import numpy as np
fig = plt.figure(figsize = (3,3))
ax1 = fig.add_subplot(1,2,1)
ax2 = fig.add_subplot(1,2,2)
ax1.plot(np.random.randint(1,5,5),np.arange(5))
ax2.plot(np.arange(10)*3,np.arange(10))
plt.show()
#在一个折线图内画多条线
unrate = pd.read_csv("unrate.csv")
unrate["DATE"] = pd.to_datetime(unrate("DATE"))
unrate["MONTH"] = unrate["DATE"].dt.month
fig = plt.figure(figsize = (10,6))
colors = ["red","blue","green","orange","black"]
for i in range(5):
start_index = i * 12
end_index = (i + 1) * 12
subset = unrate[start_index:end_index]
label = str(1984 + i)
plt.plot(subset["MONTH"],subset["VALUE"],colors = colors[i],label = label)
plt.legend(loc = "best")
plt.show()
3,条形图与散点图
(1)条形图
from matplotlib import pyplot as plt
import pandas as pd
from numpy import arange
reviews = pd.read_csv("fandango_score_comparison.csv")
num_cols = ['RT_user_norm', 'Metacritic_user_nom', 'IMDB_norm', 'Fandango_Ratingvalue', 'Fandango_Stars'] #取评分媒体画x轴
norm_review = reviews[num_cols]
bar_height = norm_review.ix[0,num_cols].values #设置条形图的高度
bar_position = arange(5) + 0.75 #设置x轴的值
gig,ax = plt.subplots() #画图
ax.bar(bar_position,bar_height,0.3) #把bar变为barh则变为横向图
tick_position = range(0,6)
ax.set_ticks(tick_position)
ax.set_ticklabel(num_cols,rotation = 45)
ax.set_xlabel("")
ax.set_ylabel("")
ax.set_title("")
plt.show()
(2)散点图
fig,ax = plt.subplots()
ax.scatter(norm_reviews['Fandango_Ratingvalue'], norm_reviews['RT_user_norm'])
ax.set_xlabel("x")
ax.set_ylabel("y")
plt.show()
4,柱状图与盒图