数据分析的Python快速先导课 四 画图功能大全

先介绍Pandas

  • pandas仍然想解决python里面列表和元组的问题,也在尝试解决字典在大数据应用中速度过慢的问题。有两个改进,一个是DataFrame,还有一个是针对dic的series的改进。

  • 与numpy不同的是,pandas在数据格式的定义上采用显示索引(explict index,与之对应的是implict index),显示行和列的名称。

matplotlib

  • 引入的时候,在anaconda上用import matplotlib.pyplot as plt,首先是因为matplotlib太大,不需要全部引用。另外,pyplot依赖于很多其他的包,如果要自己配置的话,可以直接引入大礼包pylab。只不过anaconda预先把这些常用包都装载好了,不需要引入大礼包。

  • 一次性修改matplotlib的字体。plt.rcParams['font.family'] = 'DengXian'#因为是赋值行为,所以是中括号。

  • 分别修改:当在写title函数和xlabel函数时候,可以设置参数,fontproperties = '', fontsize = 13)#13是设置字体,fontproperties是字体。

  • 下个案例集合了画多个图、统一改字体,集合改字体。查询自己电脑上自带了什么字体,查看“二”。

%matplotlib inline
#引入数据
women = pd.read_csv('data/women.csv',index_col = 0)
x = np.linspace(0,10,1000)

#画出第一个图
plt.subplot(2,3,1)
plt.xlim(11,-20)#限制图片范围
plt.ylim(2.2,-1.3)
plt.plot(x,np.sin(x), label = "sin(x)")
plt.plot(x,np.cos(x), label = "cos(x)")

#设置图片
plt.rcParams['axes.unicode_minus'] = False#解决搞成汉字后无法显示负号的问题
plt.rcParams['font.family'] = 'DengXian'#一次性规定字体
plt.title('凉宫春日的题目A',fontproperties = 'DengXian', fontsize = 13)#在句式后面规定字体
plt.xlabel('-进击的横坐标#')
plt.ylabel('辉夜的纵坐标')


#画出第二个图
plt.subplot(2,3,6)#2行3列,在第6个格子显示
plt.plot(women["weight"],women["height"],"gD")

#设置图片
plt.rcParams['axes.unicode_minus'] = False#解决搞成汉字后,坐标轴无法显示负号(变成框框)的问题
#一次性设计
plt.rcParams['font.family'] = 'DengXian'#一次性规定字体
plt.rcParams['font.style'] = 'italic'#有三种,normal,italic,oblique
plt.rcParams['font.size'] = 18#一次性规定字号
plt.legend(loc = "upper left", labels = "图")
plt.title('凉宫春日的题目B',fontproperties = 'DengXian', fontsize = 13)#在句式后面规定字体
plt.axis("tight")
plt.xlabel('-进击的横坐标#')
plt.ylabel('辉夜的纵坐标')


plt.show()
#同一个坐标画两个图可以直接plot,换行plot
plt.savefig("我画的图贼好看.jpg")#保存#也可以存png,保存在默认工作目录

![

  • 其中,subplot(a,b,c)指a行b列从左至右,从上到下数第c个格子的位置。
  • 比如plt.subplot(1,2,2)plt.subplot(1,2,1)显示如下。

在这里插入图片描述

#散点图的画法
#自动生成数据
#from sklearn.datasets.sample_generator import make_blobs
from sklearn.datasets import make_blobs
X,y = make_blobs(n_samples = 300, centers = 10, random_state = 0, cluster_std = 1.0)
plt.scatter(X[:,0], X[:,1], c = y, s = 5, cmap = "rainbow")

在这里插入图片描述

seaborn

教师工资收入的可视化分析

salaries = pd.read_csv('data/salaries.csv', index_col = 0)
salaries.head()
sns.set_style('darkgrid')
sns.set(font = "DengXian")
#sns.stripplot(data = salaries, x = "rank", y = "salary", jitter = True, alpha = 0.5)
#sns.boxplot(data = salaries, x = "rank", y = "salary").set(xlabel = "x轴", ylabel = "y轴")
salaries.head(3)
  • jitter = True 设置是否对重叠数据进行抖动。
  • alpha = 0.5 设置透明度
    在这里插入图片描述

案例

墨西哥个人数据的预处理

原先是R语言的一篇文章,主要是将之转化成tidy数据的方法。现在用python来处理。是一个经典数据集。
用到了两个数据,death.xlsx和icd-main.xlsx。

等下一个博客讲

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值