我正在使用 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)
Run Code Online (Sandbox Code Playgroud)
您在代码中的内容是如何在 matplotlib 中启动直方图的示例。请注意,您使用的是 pyplot 默认界面(不一定要构建自己的图形)。
因此这一行:
orientation=u'vertical',
Run Code Online (Sandbox Code Playgroud)
应该:
orientation=u'horizontal',
Run Code Online (Sandbox Code Playgroud)
, 如果您希望条形图从左向右移动。但是,这不会帮助您处理 y 轴。要反转 y 轴,您应该使用以下命令:
plt.gca().invert_yaxis()
Run Code Online (Sandbox Code Playgroud)
以下示例向您展示了如何从随机数据构建直方图(不对称以更容易感知修改)。第一个图是正常的直方图,第二个我改变了直方图的方向;在最后我反转 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()
Run Code Online (Sandbox Code Playgroud)
图 1 的结果是(默认直方图):
第二个(改变条形方向):
最后是第三个(倒 y 轴):