2016-08-19 62 views
-1

我正在使用matplotlib來繪製神經網絡。我發現了一個繪製神經網絡的代碼,但它的方向是從上到下。我想改變方向從左到右。所以基本上我想在已經繪製所有形狀之後更改x和y軸。是否有捷徑可尋? 我還發現一個答案,說你可以將參數「orientation」改爲horizo​​ntal(下面的代碼),但我真的不明白應該在哪裏複製該代碼。那會給我同樣的結果嗎?如何更改matplotlib中的x和y軸?

matplotlib.pyplot.hist(x, 
        bins=10, 
        range=None, 
        normed=False, 
        weights=None, 
        cumulative=False, 
        bottom=None, 
        histtype=u'bar', 
        align=u'mid', 
        orientation=u'vertical', 
        rwidth=None, 
        log=False, 
        color=None, 
        label=None, 
        stacked=False, 
        hold=None, 
        **kwargs) 

回答

1

你在代碼中有什麼是如何在matplotlib中啓動直方圖的例子。注意你正在使用pyplot的默認界面(不一定建立你自己的圖形)。

隨着所以這行:

orientation=u'vertical', 

應該是:

orientation=u'horizontal', 

,如果你想在酒吧去從左至右。然而,這不會幫助你的Y軸。爲你反轉y軸則應該使用命令:

plt.gca().invert_yaxis() 

下面的示例說明了如何建立從隨機數據的直方圖(非對稱更容易察覺的修改)。第一個圖是正常的直方圖,第二個是我改變直方圖的方向;在最後我反轉y軸。

import numpy as np 
import matplotlib.pyplot as plt 

data = np.random.exponential(1, 100) 

# Showing the first plot. 
plt.hist(data, bins=10) 
plt.show() 

# Cleaning the plot (useful if you want to draw new shapes without closing the figure 
# but quite useless for this particular example. I put it here as an example). 
plt.gcf().clear() 

# Showing the plot with horizontal orientation 
plt.hist(data, bins=10, orientation='horizontal') 
plt.show() 

# Cleaning the plot. 
plt.gcf().clear() 

# Showing the third plot with orizontal orientation and inverted y axis. 
plt.hist(data, bins=10, orientation='horizontal') 
plt.gca().invert_yaxis() 
plt.show() 

用於區1的結果是(默認直方圖):

default histogram in matplotlib

第二(改變棒取向):

default histogram in matplotlib with changed orientation

最後第三(倒y軸):

Histogram in matplotlib with horizontal bars and inverted y axis