图/子图关于x / y限制的混淆

时间:2016-03-07 12:24:09

标签: python matplotlib

我试图在子图上设置x和y限制,但是我很难。我怀疑这很难源于我对数字和子图如何工作的基本缺乏理解。我读过这两个问题:

question 1

question 2

我尝试使用这种方法,但都没有对x和y限制产生任何影响。这是我的代码:

fig = plt.figure(figsize=(9,6))
ax = plt.subplot(111)
ax.hist(sub_dict['b'], bins=30, color='r', alpha=0.3)
ax.set_ylim=([0,200])
ax.set_xlim=([0,100])
plt.xlabel('x')
plt.ylabel('y')
plt.title('title')
plt.show()

我对是否将命令应用于无花果或斧头感到困惑?例如.xlabel和.title似乎不适用于ax。感谢

3 个答案:

答案 0 :(得分:0)

你为什么不这样做: Ax = fig.add_subplot(111)

import matplotlib.pyplot as plt
import numpy as np
mu, sigma = 100, 15
x = mu + sigma*np.random.randn(100)

fig = plt.figure(figsize=(9,6))
ax = fig.add_subplot(111)
ax.hist(x, bins=30, color='r', alpha=0.3)
ax.set_ylim=(0, 200)
ax.set_xlim=(0, 100)
plt.xlabel('x')
plt.ylabel('y')
plt.title('title')
plt.show()

我已经在一些示例代码上运行了代码,并且我附上了截图。我不确定这是否是理想的结果,但这就是我得到的结果。enter image description here

答案 1 :(得分:0)

对于在一个图中有子图的多时隙,您可以有多个xlabel和一个title

fig.title("foobar")
ax.set_xlabel("x")

Matplotlib网站上详细解释了这一点here

在您的情况下,您只需使用一个子图来绘制单个图。这是可能的,但没有多大意义。应该使用子图功能创建下面的图:

enter image description here

回答你的问题:你可以通过简单地直接寻址相应的子图(ax寻找子图1)来设置每个子图和每个轴的x和y限制,并调用{ {1}}成员函数在x轴上设置标签。

修改

有关更新的问题:

使用此代码作为灵感,我必须自己生成一些数据,所以不能保证:

set_xlabel

答案 2 :(得分:0)

更多谷歌搜索,我得到了以下工作:

sub_dict = subset(data_dict, 'b', 'a', greater_than, 10)
fig = plt.figure(figsize=(9,6))
ax = fig.add_subplot(111)
ax.hist(sub_dict['b'], bins=30, color='r', alpha=0.3)
plt.ylim(0,250)
plt.xlim(0,100)
plt.xlabel('x')
plt.ylabel('y')
plt.title('title')
plt.show()