2016-03-07 70 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

我更新了答案 –