Matplotlib是机器学习中一个非常重要进行可视化的库,能够将复杂的数据以图表的形式显示出来,非常的清晰直观。下面让我们来看一下它的用法。
import pandas as pd
unrate = pd.read_csv("UNRATE.csv")
unrate["DATE"] = pd.to_datetime(unrate["DATE"]) #将csv文件中的时间转换为标准的可以读取的时间
print(unrate.head(12))
运行结果:
DATE VALUE 0 1948-01-01 3.4 1 1948-02-01 3.8 2 1948-03-01 4.0 3 1948-04-01 3.9 4 1948-05-01 3.5 5 1948-06-01 3.6 6 1948-07-01 3.6 7 1948-08-01 3.9 8 1948-09-01 3.8 9 1948-10-01 3.7 10 1948-11-01 3.8 11 1948-12-01 4.0
import matplotlib.pyplot as plt
plt.plot() #先画一个空白的图
plt.show() #然后让他显示出来
运行结果:
first_twelve = unrate[0:12] #先拿出前十二个数据
plt.plot(first_twelve["DATE"], first_twelve["VALUE"]) #分别传入x,y坐标
plt.xticks(rotation=45) #将x坐标进行变换
plt.xlabel("Month")#代表xy的坐标含义
plt.ylabel("Rate")
plt.title("Monthly Employment Rate, 1948")#表格的标题
plt.show()
运行结果:
fig=plt.figure(figsize=(10,9))#画图的区间并可以指定区域大小
ax1=fig.add_subplot(2,2,1)#表示2×2区间上的第一个子图
ax2=fig.add_subplot(2,2,2)
ax3=fig.add_subplot(2,2,4)
ax1.plot(range(5),range(5))
plt.show()
运行结果:
unrate["MONTH"]=unrate["DATE"].dt.month
fig=plt.figure(figsize=(16,9))
plt.plot(unrate[0:12]["MONTH"],unrate[0:12]["VALUE"],c="red")
plt.plot(unrate[12:24]["MONTH"],unrate[12:24]["VALUE"],c="blue")#C可以指定颜色
plt.legend(loc='best')
plt.show()
运行结果:
# plt.figure(figsize=(16,9))
colors=["red","blue","green","purple","black"]
for i in range(5):
start_index=i*12
end_index=(i+1)*12
label=str(i+1948)#label表示右上方的指示
plt.plot(unrate[start_index:end_index]["DATE"],unrate[start_index:end_index]["VALUE"],c=colors[i],label=label)
plt.legend(loc="best")#这段代码可以让指示显示出来
plt.show()
# print(help(plt.legend()))
运行结果:
import pandas as pd
reviews = pd.read_csv('fandango_scores.csv')
cols = ['FILM', 'RT_user_norm', 'Metacritic_user_nom', 'IMDB_norm', 'Fandango_Ratingvalue', 'Fandango_Stars']
norm_reviews = reviews[cols]
print(norm_reviews[:1])
运行结果:
FILM RT_user_norm Metacritic_user_nom \
0 Avengers: Age of Ultron (2015) 4.3 3.55IMDB_norm Fandango_Ratingvalue Fandango_Stars
0 3.9 4.5 5.0
import matplotlib.pyplot as plt
from numpy import arange
num_cols = ['RT_user_norm', 'Metacritic_user_nom', 'IMDB_norm', 'Fandango_Ratingvalue', 'Fandango_Stars']#评分指标
bar_heights=norm_reviews.loc[0,num_cols].values#在柱形图的高
print(bar_heights)
bar_positions = arange(5) + 0.75#柱形图的横坐标
print(bar_positions)
plt.bar(bar_positions, bar_heights, 0.5)#bar函数表示画一个柱形图,0.5代表的是柱的宽度
plt.barh(bar_positions, bar_heights, 0.5)#barh函数表示竖着画
plt.show()
运行结果:
plt.scatter(norm_reviews["Fandango_Ratingvalue"],norm_reviews["RT_user_norm"])#sactter函数用于创建散点图
plt.xlabel("Fandango")
plt.ylabel("Rotton Tamotos")
plt.show()
运行结果:
本程序中用到的数据集 提取码:xnhj