2014-01-24 30 views
0

這是代碼:我怎麼能把斧子像一個陰謀,沒有與matplotlib的副圖?

#/usr/bin/env python3 
# -*- coding: utf-8 -*- 


import numpy as np 
import matplotlib.pyplot as plt 


f = lambda x: pow(x, 3)/(pow(x, 2) - x - 6) 


fig, ax = plt.subplots() 
x = np.linspace(-15.0, 15.0, 1000) 
plt.axis([x[0], x[-1], -15.0, 15.0]) 
ax.spines['left'].set_position('center') 
ax.spines['right'].set_color('none') 
ax.spines['bottom'].set_position('center') 
ax.spines['top'].set_color('none') 
ax.spines['left'].set_smart_bounds(True) 
ax.spines['bottom'].set_smart_bounds(True) 
ax.xaxis.set_ticks_position('bottom') 
ax.yaxis.set_ticks_position('left') 
ticks = [] 
for i in range(-15, 16, 5): 
    ticks.append(i) 
ticks.remove(0) 
ax.set_xticks(ticks) 
ax.set_yticks(ticks) 
plt.plot(x, f(x), color='b', linestyle='-', lw=1.5) 
plt.plot(x, x + 1.0, color='b', linestyle='--', lw=1.5) 
plt.legend([r'$f(x)=\frac{x^3}{x^2-x-6}$', r'$y=x+1$'], loc='lower right') 
plt.title('Discontinuous Function') 
plt.grid('on') 
plt.show() 

我想設置斧頭像一個陰謀,而不是像一個次要情節。我該如何改變它?謝謝。

+0

你能更具體地說「像一個情節」是什麼意思? –

+0

你想讓一把斧子像一個小塊而不是一個小塊一樣工作嗎? – aidnani8

回答

0

爲什麼你不能改變

plt.plot(x, f(x), color='b', linestyle='-', lw=1.5) 
plt.plot(x, x + 1.0, color='b', linestyle='--', lw=1.5) 
plt.legend([r'$f(x)=\frac{x^3}{x^2-x-6}$', r'$y=x+1$'], loc='lower right') 
plt.title('Discontinuous Function') 
plt.grid('on') 

ax.plot(x, f(x), color='b', linestyle='-', lw=1.5) 
ax.plot(x, x + 1.0, color='b', linestyle='--', lw=1.5) 
ax.legend([r'$f(x)=\frac{x^3}{x^2-x-6}$', r'$y=x+1$'], loc='lower right') 
ax.set_title('Discontinuous Function') # notice this one changed to set_title 
ax.grid() 
plt.show() # keep this one plt. 

?否則,我不太清楚你的問題在問什麼。問題究竟在哪裏?你有追溯嗎?

+0

我不太明白,但將座標軸放在圖的中心的唯一方法是使用ax,但是您的解決方案和我的代碼不會在整個窗口中繪製圖形,而是將其繪製在一個子圖中。我想這是我的問題,因爲我不瞭解主要的matplotlib文檔,因爲我不是英文的。謝謝 – Tobal

+0

我的意思是,我不想要 fig,ax = plt.subplots()我想要陰謀 – Tobal

+0

爲什麼你不想用無花果,斧頭?爲了使座標軸穿過圖的中心並在它們上面有刻度標記,使用'fig,ax = plt.subplots()'是最好的方法。如果你只是想通過一個水平和垂直線(0,0),這可以很容易地完成,但要獲得這些線上的刻度線,使用'plt.subplots()'。 – wflynny