【问题标题】:how to nest a for loop to subplot a scatter on iris data?如何嵌套一个 for 循环来绘制虹膜数据上的散点图?
【发布时间】:2020-10-13 21:31:16
【问题描述】:

我正在尝试使用 for 循环和 subplot 函数编写一个 4 x 4 散点矩阵。数据是虹膜。我已经运行了这段代码,但没有返回任何内容。请检查并建议,出了什么问题,谢谢。

from sklearn import datasets
import matplotlib.pyplot as plt
%matplotlib inline
iris = datasets.load_iris()
 
X=iris.data
Y=iris.target
 
t= 1
for i in range (0,4):
    for j in range (0,4):
        ax = fig.add_subplot(4,4,t)
        ax.scatter(X[:, i], X[:, j], c=Y, cmap=plt.cm.Paired)
        t=t+1
        plt.show()

【问题讨论】:

    标签: python for-loop subplot


    【解决方案1】:

    用下面的循环替换你的 for 循环。另外,请注意我已将 plt.show 放在 for 循环之外

    for i in range (0,4):
         for j in range (0,4):
                 ax = plt.subplot(4,4,t)
                 ax.scatter(X[:, i], X[:, j], c=Y, cmap=plt.cm.Paired)
                 t=t+1
    
    plt.show()
    
    

    【讨论】:

    • 太好了,谢谢。这行得通 - 矩阵塞满了我如何增加每个图表的空间和大小。如果你能建议我如何用直方图替换散点图,如果 i==j 以便我可以在对角线上有直方图(有什么方法可以迭代而不是逐个替换)非常感谢
    • 我认为您正在寻找联合图...为什么不导入 seaborn 并使用联合图来绘制此图...
    猜你喜欢
    • 1970-01-01
    • 2020-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    相关资源
    最近更新 更多