在 Matplotlib 中将 3D 绘图比例设置为对数,给出几乎空的 2D 绘图

问题描述 投票:0回答:1

我正在尝试使用下面的代码将绘图的比例设置为对数。当没有对数刻度进行绘图时,它给出了正确的绘图。

for it, folder in enumerate(norm_folder_list):
    fig = plt.figure(figsize=(10, 8))
    ax = fig.add_subplot(111, projection='3d')
    ax.scatter(folder_data_real[it][0], folder_data_real[it][1], folder_data_real[it][2])

    
    ax.set_xlabel('Frequency')
    ax.set_ylabel('Time')
    ax.set_zlabel('Permittivity')


    ax.set_xscale('log')
    ax.set_yscale('log')
    ax.set_zscale('log')

但是,我在使用对数刻度时获得的图如下: Weird plot

我从来没有遇到过这个,网上似乎找不到任何相关信息。

我尝试使用不同的库进行绘图,并且不同的库都有效。但是,由于特定原因,我需要为此使用 matplotlib3D。

matplotlib plot 3d matplotlib-3d
1个回答
0
投票

某些轴中的某些值对于对数刻度具有无效值。 Matplotlib 不考虑这些,因此在尝试绘图之前需要删除这些值。

作为替代方案,plotly等库能够解释此类值。

© www.soinside.com 2019 - 2024. All rights reserved.