pandas Matplotlib中,每个轴上有两组独立的数字

9njqaruj  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(120)

我正在绘制2个数据系列(通过pandas从csv中获得),但是我注意到,生成的图在轴上具有预期的编号,但覆盖在两个轴上的是附加编号(从0到1.0),该值似乎不存在我的PandasDataFrame不包含任何Series,它对应于这个轴上的[0,1.0]编号。
我的代码如下

def create_plot(data: pd.DataFrame, figure, plotIndex):
    ax = figure.add_subplot(*plotIndex)
    ax.plot(data.col1, data.col2, color="#39915d", marker="o")
    return figure

files = "file1",
figure, _ = plt.subplots(ncols=len(files), nrows=1)
    for i, file in enumerate(files):
        get_file(file)
        create_plot(get_data(file)), figure, (1, len(files), i+1))
plt.show()

其中get_data方法返回一个pandasDataFrame
如果任何人有任何想法是什么导致了这一点,以及如何补救它,这将是感激。
注意:我在WSL(Linux的Windows子系统)下运行python脚本,并在Windows中使用VcXsrv,因此我可以使用X11显示图。

mnemlml8

mnemlml81#

多亏了@StonedTensor,我解决了这个问题,我通过调用plt.subplot()create_plot()函数中的figure.add_subplot生成了两个轴。
因此,为了解决这个问题,我只是将对plt.subplot的调用更改为plt.figure(),这不会生成轴,并且我将轴的创建推迟到figure.add_subplot调用。
再次感谢@StonedTensor。

相关问题