数据可视化(matplotlib、seaborn等)

数据竞赛之类(其实也就是一般项目吧)一般首先要做的就是可视化,可以直观得看到数据分布,虽然目前数学水平可能达不到识别某分布适合什么模型(eg非高斯分布做变换转高斯分布),但是至少可以直观了解数据情况。

matplotlib

类似MATLAB风格的功能强大、跨平台,但是相对底层,需要写大量的boilerplate code,so有了seaborn这种mpl基础上的API,有更多简单的高级函数,并与df有机结合

一般也都是现查,但是有一些毒瘤问题拎出来解决一下。而且还没找到一个万能处理方法

  • 中午显示问题(下面case有方法)
  • 坐标轴名称和刻度字体大小
    • plt.xlable('name', fontsize=15)
    • plt.xlim([0,10])
    • plt.xticks(np.linspace(1,20,20), fontsize=30) #刻度

 

 

case:画页面置换算法里的example,折线图

导包 & 设置要画的数据
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(1,20,20,endpoint=True)#初始值、终止值、数量、是否包含终止值
y = [7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1]
len(y)
#output:20

然后开始画图,这里尽可能使用了多的设置方式 

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

plt.figure(figsize=(18,10))

#坐标轴设置
plt.xlabel("时间", fontsize=30)#标签
plt.ylabel("要访问的页面", fontsize=30)
plt.xticks(np.linspace(1,20,20), fontsize=30)#刻度
plt.yticks(fontsize=30)
plt.xlim([1,20])#范围
plt.ylim([0,7])

plt.plot(x,y)#默认折线图
plt.show()

output:

case2:天气柱状图

 利用pandas的plt,data.loc[t].plot(kind='bar')。这里的data是df类型数据,loc可以根据index选取一行,pandas会自动将columns作为x,元素值作为y

citys = '上海 北京 美国 秦皇岛 哈尔滨 深圳 齐齐哈尔'
citys = citys.split(' ')
print(citys)
t = []
for city in citys:
    if city in data.index:
        t.append(city)
#         print("%s不存在"%city)
        
data.loc[t].plot(kind='bar', figsize=(12,8))#若是list,x轴就是list的str。各项以图例形式在右上角给出。若是str,x就是各项
plt.xlabel("城市", fontsize=18)
plt.ylabel("污染物含量(μg/m3)", fontsize=18)
plt.xticks( fontsize=18)#刻度
plt.yticks( fontsize=18)
plt.title('%s市AQI及各项污染物含量示意图'%' '.join(t),size=20)
plt.ylim([0,150])
plt.savefig('cities\'AQI.png')
plt.show()

 

如果把plot() 里面的list换成单个的str,就会分别展示,每个都这样

补一个【坑】:在pycharm里plt.show()可能会不显示,要把import plt放在mpl前面,然后mpl.use('TkAgg')

seaborn 

mlp基础上的API,有更多简单的高级函数,并与df有机结合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值