【问题标题】:How can I convert 1-D plot to 2-D contourf plot?如何将一维图转换为二维轮廓图?
【发布时间】:2020-01-14 13:04:46
【问题描述】:

如果我生成一维概率分布并得到如下结果:

假设 y 轴与 x 轴相同,我如何将其转换为二维轮廓图。下面,我创建了一个我希望结果看起来像的图像,其中每个波段代表一系列概率。波段会随着 x 的不同而变化。

我生成一维图的代码如下:

import matplotlib.pyplot as plt
import numpy as np

def gaussian(x, mu, sig):
    return np.exp(-np.power(x - mu, 2.) / (2 * np.power(sig, 2.)))

x_values = np.linspace(-5, 5, 120)
y = gaussian(x_values, 0, 1)

plt.figure()
plt.plot(x_values,y)
plt.show()

【问题讨论】:

    标签: python matplotlib probability contourf


    【解决方案1】:

    想通了。代码是:

    import matplotlib.pyplot as plt
    import numpy as np
    
    def gaussian(x, mu, sig):
        return np.exp(-np.power(x - mu, 2.) / (2 * np.power(sig, 2.)))
    
    x_values = np.linspace(-5, 5, 120)
    y_values = np.linspace(-5, 5, 120)
    [xx,yy] = np.meshgrid(x_values,y_values)
     xx = np.concatenate(xx)
    yy = np.concatenate(yy)
    
    y = gaussian(xx, 0, 1)
    
    plt.figure()
    plt.contourf(x_values,y_values,y.reshape(len(x_values),len(y_values)))
    plt.colorbar()
    plt.show()
    

    它给出了结果:

    【讨论】:

      猜你喜欢
      • 2017-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-14
      • 2020-03-26
      • 2015-08-15
      • 2015-10-27
      相关资源
      最近更新 更多