Python数据分析实战—用matplotlib实现数据可视化(4)

本文是Python数据分析实战系列的第四篇,主要介绍了matplotlib库的高级图表,包括等值线图、极区图、3D曲面、3D散点图和3D条状图的绘制。此外,还探讨了多面板图形和子图网格的创建方法,为数据可视化提供了更多可能性。
摘要由CSDN通过智能技术生成

《Python数据分析实战》

1.高级图表

除去条状图、饼图等较为传统的图表,我们还可能需要用到其他形式的图表。

等值线图:

等值线图或等高线图在科学界很常用。这种可视化方法用一圈圈封闭的曲线组成的等值线图表示三维结构的表面,其中封闭的曲线表示的是一个个处于同一层次或z值相同的数据点。

import matplotlib.pyplot as plt
import numpy as np

dx=0.01 ; dy=0.01
x = np.arange(-2.0,2.0,dx)
y = np.arange(-2.0,2.0,dy)

#将原始数据变成网格
X,Y = np.meshgrid(x,y)

#定义等高线高度函数
def f(x,y):
    return (1 - y**5 + x**5)*np.exp(-x**2-y**2)

#填充颜色,colors填充的是等高线的线的颜色
C = plt.contour(X,Y,f(X,Y),8,colors='green')
#绘制等高线
plt.contourf(X,Y,f(X,Y),8,cmap=plt.cm.hot)
#显示各等高线的数据标签
plt.clabel(C,inline=1,fontsize=10)

#添加颜色图例
plt.colorbar()

#去除坐标轴
plt.xticks()
plt.yticks()

plt.show()

设置cmap前:

这里写图片描述

设置cmap后:

这里写图片描述

极区图:

这种图表由一系列呈放射状延伸的区域组成,其中每块区域占据一定的角度。因此若要用极区图表示两个不同的数值,分别指定它们在极区图中所占的分量:每块区域的半径r和它所占的角度,其实这就是极坐标(r,θ),是在坐标轴系中表示数据的另一种方法。

从图表的角度来看,你可以将其视作兼有饼图和条状图特点的图表。之所以说它像饼图,是因为每个区域的角度所表示的是其所属类别占全部类别的比例。至于说它像条状图,是因为半径的长度表示某一类别的数值大小。(也就是角度的大小代表某一类所占的比例,半径的长度代表某一类含有的数量)。

#极区图

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

N = 8

# 角度 0-2π N份
theta = np.arange(0.0,2*np.pi,2*np.pi / N)
# 半径 8份对应的半径长度
radii = np.array([4,7,5,3,1,5,6,7])

plt.axes([0.025,0.025,0.95,0.95],polar=True)

colors = np.array(['#4bb2c5','#c5b47f','#EAA228','#579575','#839557','#958c12','#953579','#4b5de4'])

bars = plt.bar(theta,radii,width=(2*np.pi/N),bottom=0.0,color=colors)

plt.show()

这里写图片描述

2.mplot3d

mplot3d工具集是matplotlib内置的标配,可用来实现3D数据可视化功能。

mplot3d仍然使用figure对象,只不过Axes对象要替换为该工具集的Axes3D对象。因此,使用Axes3D对象前,需先将其导入进来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值