2016-03-07 72 views
0

我试图在一个子区域上设置x和y限制,但我很难。我怀疑这种困难源于我对数字和子图的工作原理缺乏了解。我看了这两个问题:关于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。由于

回答

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() 
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

+0

Tha nks,没有区别。 – TaxpayersMoney

+0

无论何时我想设置轴限制,我都这样做。 ax.set_ylim(0,200) – fredstban

+0

试过了,没有工作。 – TaxpayersMoney

0

对于将多重,你有次要情节在一个单一的数字,你可以有几个xlabel和一个title

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

这是非常详细的here网站Matplotlib解释。

你在你的情况下,使用一个副图为一个单一的情节。这是可能的,只是没有多大意义。像下面的一个情节都应该与插曲功能创建:

enter image description here

要回答你的问题:你可以设置x和y限制在每插曲和每个轴的基础上通过只需直接寻址相应的子图(子图1的ax),然后调用set_xlabel成员函数在x轴上设置标签。

编辑

为您更新的问题:

使用此代码为灵感,我不得不产生对自己这么没有保障的一些数据:

import matplotlib.pyplot as plt 

plt.hist(sub_dict['b'], bins=30, color='r', alpha=0.3) 
plt.ylim(0,200) 
plt.xlim(0,100) 
plt.xlabel('x') 
plt.ylabel('y') 
plt.title('title') 
plt.show() 
+0

删除对子图的引用。现在只需使用plt,hst。仍然没有任何运气改变x和y的限制。还尝试过:fig = plt.figure(),但在尝试执行fig.hist时发生错误(...)'图'没有属性hist。 – TaxpayersMoney

+0

我更新了答案 –