首页 > 解决方案 > Python - 单个图中的多个图 - 在不同列中循环

问题描述

我正在尝试在单个图像中绘制表格的多列。

这个想法是通过循环优化过程。

重要的是要注意所有列共享相同的 y 轴,并且每列的 x 比例不同。

最终结果应如下所示:

在此处输入图像描述

我已经尝试了一些事情,但没有成功,在我的代码中我创建了几个数字,只在第一个图中绘制:

def facies_plot_all(logs):
    logs = sort_values(by='y')
    ztop=logs.Y.min(); zbot=logs.Y.max()
    
    for col in logs.columns:
        numcol = (logs.shape[1])
        f, ax = plt.subplots (nrows=1, ncols=numcol, figsize (20,25))
        ax[x+1].plot(logs[col],logs.Y,'-')

我对编程比较陌生,仍在寻找解决此问题的方法。欢迎任何帮助!

标签: pythonpandasmatplotlib

解决方案


放在循环subplots之外:for

logs = sort_values(by='y')
ztop=logs.Y.min(); zbot=logs.Y.max()

numcol = (logs.shape[1])
f, axes es= plt.subplots (nrows=1, ncols=numcol, 
                        sharey=True,
                        figsize=(20,25))

for (ax, col) in zip(axes,logs.columns):
    ax.plot(logs[col],logs.Y,'-')

推荐阅读