Matplotlib 中的平行坐标
原文:https://www . geesforgeks . org/parallel-coordinates-in-matplotlib/
在本文中,我们将学习如何在 Matplotlib 中绘制平行坐标。所以,先讨论一些概念:
- Matplotlib 可能是 Python 中一个巨大的可视化库,用于数组的 2D 图。Matplotlib 也可以是一个多平台数据可视化库,构建在 NumPy 数组上,旨在与更广泛的 SciPy 堆栈一起工作。它是由约翰·亨特在 2002 年推出的。
- 可视化的一个最大好处是,它允许我们以容易理解的视觉形式可视化地获取大量知识。Matplotlib 由几个图组成,如直线、条形图、散点图、直方图等。
- 平行坐标可能是一种探索分类反应多维数据传播的方法,看看特征是否有任何趋势。
- 二维和三维数据通常使用传统的绘图类型相对直接地查看。即使有四维数据,我们也会经常发现如何显示信息。
所需步骤
- 导入库(matplotlib)
- 创建/加载数据
- 使共享 y 轴的子剧情等于假
- 画出所有的支线剧情
- 为 x 轴标签设置 x 轴限制
- 使宽度空间为零
- 显示最终输出的图
例子
这里,我们将通过应用上述步骤来讨论一些示例。在这些例子中,我们将处理线性和多维度的虚拟数据。
例 1:(简单平行坐标图)
Python 3
# import packages
import matplotlib.pyplot as plt
# create data
x=[1,2,3,4,5]
y=[2,4,1,5,3]
# make subplots
fig,(ax1,ax2) = plt.subplots(1, 2, sharey=False)
# plot the subplots
ax1.plot(x,y)
ax2.plot(x,y)
# set x limits
ax1.set_xlim([ x[0],x[2]])
ax2.set_xlim([ x[2],x[4]])
# set width space to zero
plt.subplots_adjust(wspace=0)
# show the plots
plt.show()
输出:
例 2:(多线多轴平行坐标图)
Python 3
# import packages
import matplotlib.pyplot as plt
# create data
x=[1,2,3,4,5,6,7,8,9]
y1=[2,4,1,5,3,4,2,5,2]
y2=[3,4,3,5,2,6,4,2,3]
# make subplots
fig, (ax1,ax2,ax3,ax4,ax5,ax6,ax7,ax8) = plt.subplots(1, 8, sharey=False)
ax = (ax1,ax2,ax3,ax4,ax5,ax6,ax7,ax8)
# plot subplots and set xlimit
for i in range(8):
ax[i].plot(x,y1,'g-.',x,y2,'r--')
ax[i].set_xlim([ x[i],x[i+1]])
# set width space to zero
plt.subplots_adjust(wspace=0)
# show plot
plt.show()
输出:
示例 3:(多维数据上的平行坐标图)
Python 3
# import packages
import numpy as np
import matplotlib.pyplot as plt
# create data
x = np.arange(1,6)
data = [x,x*2,x*x,np.sqrt(x),-x*x,np.sin(x),np.cos(x)]
print(data)
# make subplots
fig, (ax1,ax2,ax3,ax4) = plt.subplots(1, 4, sharey=False)
ax = (ax1,ax2,ax3,ax4)
# plot subplots and set xlimit
for i in range(4):
for j in range(len(data)):
ax[i].plot(data[0],data[j])
ax[i].set_xlim([x[i],x[i+1]])
# set width space to zero
plt.subplots_adjust(wspace=0)
# show plot
plt.show()
输出:
版权属于:月萌API www.moonapi.com,转载请注明出处