首页  >  问答  >  正文

python怎么使用matplotlib画出下面这样的图?

下面这个图是别人使用java画的

下面这个图是我自己用matplotlib画的

代码是这个样子的

import utils
import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import pearsonr


X, y = utils.load_data('./sonar.data.csv', ',')
X = np.array(X)
y = np.array(y)


f1 = plt.figure()
for i in xrange(len(X[0])):
    plt.subplot(16, 4, i+1)
    plt.scatter(X[:,i], y)
    pea = pearsonr(X[:,i], y)[0]
plt.show()

问题就是图都挤在一起了, 而且调整窗口大小的时候,会有很大的延迟。
求问怎么解决这两个问题???

ringa_leeringa_lee2741 天前763

全部回复(2)我来回复

  • PHP中文网

    PHP中文网2017-04-18 10:31:28

    你可以通过plt.tight_layout()让matplotlib调整subplot的位置:

    http://matplotlib.org/users/t...

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:31:28

    最简单的柱状代码应该是这样的

    # coding: utf-8
    
    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.random.randint(0, 10, size=10)
    y = np.random.randint(100, 1000, size=10)
    
    plt.bar(x, y)
    plt.show()
    

    回复
    0
  • 取消回复