python表格显示数据分析_利用python进行可视化数据分析

一、背景介绍

可视化数据分析目前有很多方式,比如最简单的excel进行可视化数据分析、matlab可视化数据分析、power bi、tableau等,如果单纯的进行可视化,那么python不是最好的工具,但是如果是做可视化数据分析,那么python绝对是一个不错的选择,因为python有多个非常流行的可视化工具包,比如Matplotlib、Seaborn 、Pandas、ggplot(2)等。本文将介绍一下常用的工具包的使用,并动手画一些图表。

二、Matplotlib介绍

Matplotlib是一个常用的2D绘图库,也是最基本的绘图库。

1-安装 可以参考Python 中matplotlib 如何安装?​www.zhihu.comv2-c2848d20916e9ea1d083c50e986fcdc9_ipico.jpg

2-开始绘制第一张表(某地十天最高气温变化曲线)

import matplotlib.pyplot as plt #导入库

x=range(1,11,1)#x轴数据 1--10

y=[18,19,19,20,24,23,23,26,30,34]#y轴数据

plt.plot(x,y)#作图

plt.show()#展示第一张图

现在第一张表就绘制完成了,但是线条、坐标轴、文本标签、标题等都是默认的,下面将进行一些设置。

import matplotlib.pyplot as plt #导入库

x=range(1,11,1)#x轴数据 1--10

y=[18,19,19,20,24,23,23,26,30,34]#y轴数据

plt.rcParams['font.sans-serif']=['SimHei']#解决中文乱码问题

plt.xlabel('日期')

plt.ylabel('最高气温')

plt.plot(x, y, color='r', linestyle='-.', marker='*', linewidth=1, markersize=5)#作图

plt.show()#展示第二张图

第二张图已经绘制好了,在这张图中,我们修改了x y轴标签名称和线条信息(linestyle='-.', marker='*', linewidth=1, markersize=5 分别代表线条的形状、标记的样子、线条的宽度和标记的大小) ,看起来好了很多。但是还是存在一些问题,问题一:x轴是2-10之间的偶数,我们希望他显示的是“1日”----“10日”。问题二:希望设置一下刻度 。问题三:希望添加一下文本标签 。下面是解决办法。

import matplotlib.pyplot as plt #导入库

x=range(1,11,1)#x轴数据 1--10

datas=['1日','2日','3日','4日','5日','6日','7日','8日','9日','10日']

y=[18,19,19,20,24,23,23,26,30,34]#y轴数据

plt.rcParams['font.sans-serif']=['SimHei']#解决中文乱码问题

plt.xlabel('日期')

plt.ylabel('最高气温')

plt.xlim(1,10)#设置x轴刻度范围

plt.ylim(15,35)#设置y轴刻度范围

plt.plot(x, y, color='r', linestyle='-.', marker='*', linewidth=1, markersize=5)#作图

plt.xticks(x,datas)#修改x轴标签,相当于覆盖原来的

for a,b in zip(x,y):

plt.text(a,b+0.05,'%.1f'%b,ha = 'center',va = 'bottom',fontsize=9)

plt.show()#展示第三个图

3-开始绘制散点图

绘制散点图的过程与绘制折线图过程十分相似,只需要吧plot函数改为scatter函数即可,所以不再详细介绍。

import matplotlib.pyplot as plt #导入库

x=range(1,11,1)#x轴数据 1--10

datas=['1日','2日','3日','4日','5日','6日','7日','8日','9日','10日']

y=[18,19,19,20,24,23,23,26,30,34]#y轴数据

plt.rcParams['font.sans-serif']=['SimHei']#解决中文乱码问题

plt.xlabel('日期')

plt.ylabel('最高气温')

plt.xlim(1,10)#设置x轴刻度范围

plt.ylim(15,35)#设置y轴刻度范围

# plt.plot(x, y, color='r', linestyle='-.', marker='*', linewidth=1, markersize=5)#作图

plt.scatter(x,y)

plt.xticks(x,datas)#修改x轴标签,相当于覆盖原来的

for a,b in zip(x,y):

plt.text(a,b+0.05,'%.1f'%b,ha = 'center',va = 'bottom',fontsize=9)

plt.show()#展示第四张图:根据折线图改成的散点图

4-开始绘制柱形图

柱形图绘制只需要采用plt.bar函数,与前面绘制相似。值得注意的是,柱形图和直方图是两种不同的图,条形图是用条形的长度表示各类别频数的多少,其宽度(表示类别)则是固定的;直方图是用面积表示各组频数的多少,矩形的高度表示每一组的频数或频率,宽度则表示各组的组距,因此其高度与宽度均有意义,绘制直方图采用的是plt.hist函数,本文不再介绍。另外还可以绘制饼形图、面积图、热力图、箱型图,本文也不再介绍。

import matplotlib.pyplot as plt #导入库

x=range(1,11,1)#x轴数据 1--10

datas=['1日','2日','3日','4日','5日','6日','7日','8日','9日','10日']

y=[18,19,19,20,24,23,23,26,30,34]#y轴数据

plt.rcParams['font.sans-serif']=['SimHei']#解决中文乱码问题

plt.xlabel('日期')

plt.ylabel('最高气温')

plt.xlim(1,10)#设置x轴刻度范围

plt.ylim(15,35)#设置y轴刻度范围

# plt.plot(x, y, color='r', linestyle='-.', marker='*', linewidth=1, markersize=5)#作图

# plt.scatter(x,y)

plt.bar(x,y)#绘制柱形图

plt.xticks(x,datas)#修改x轴标签,相当于覆盖原来的

for a,b in zip(x,y):

plt.text(a,b+0.05,'%.1f'%b,ha = 'center',va = 'bottom',fontsize=9)

plt.show()#展示第五幅图:柱状图

5-3D曲面图的绘制

说明一下:对于3D图形的绘制,python也不是一个太好的选择,跟Matlab和mayavi或者plotly相比还是有很大的差距。本着学习的态度,还是用python画一下3D曲面图。

三维图形绘制需要(x,y,z)三组值,可以通过numpy和Axes3D函数会议3D图形。

其中Axes3D是mpl_toolkits.mplot3d中的一个绘图函数,mpl_toolkits.mplot3d

是Matplotlib里面专门用来画三维图的工具包。

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d.axes3d import Axes3D

import numpy as np

fig=plt.figure()

axes3d=Axes3D(fig)

x=np.arange(-10.0,10.0,0.01)

y=np.arange(-10.0,10.0,0.01)

X,Y=np.meshgrid(x,y)

Z=X+Y

axes3d.plot_surface(X,Y,Z)

plt.show()Z=X+Y函数图像

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值