4.数据可视化库matplotlib(学习笔记)

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”
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值