2017-06-20 168 views
0

我正在研究一些代碼,我想隱藏原點(x軸上的零點和y軸上的零點)從圖中。我已經嘗試過所有可能的方法,但是當我得到標籤列表時,它們會返回空白,或者當範圍爲空時返回值僅爲幾個值(-2,-1,0,1,2,3) -10 - 10.在matplotlib中隱藏原點(x和y軸上的0)

此外,有沒有任何方式對蜱本身的字體更改爲計算機現代10(乳膠字體?)

回答

1

隱藏在軸上的0可以使用FuncFormatter來完成。此格式化程序的功能只是檢查標籤是否爲0,並在此情況下返回空字符串。

import matplotlib.pyplot as plt 
import matplotlib.ticker as ticker 
import numpy as np 

x = np.linspace(-5,8) 
y = np.sin(x) 
plt.plot(x,y) 

func = lambda x, pos: "" if np.isclose(x,0) else x 
plt.gca().xaxis.set_major_formatter(ticker.FuncFormatter(func)) 
plt.gca().yaxis.set_major_formatter(ticker.FuncFormatter(func)) 

plt.show() 

enter image description here

+0

完美!然而,將此標記爲答案,您是否也可以修復我的字體問題?這不允許我設置自己的字體! –

+0

避免在同一問題中詢問兩個不同的東西真的很好。這是一個非常好的例子,它說明了爲什麼一次提出兩個問題是不好的:你只是忘了給這個問題提供一個明確的問題描述。那麼你是否使用膠乳(usetex = True)?問題是什麼?你有沒有嘗試設置字體,它不工作,或者你不知道如何設置字體?你是用Google搜索的嗎?如果是這樣,那麼其他問題在多大程度上沒有幫助等等。 – ImportanceOfBeingErnest

+0

你是完全正確的!下次我會試着堅持兩個問題:)。 我希望我的蜱蟲可以在字體Computer Modern中使用,但不能在LaTeX中使用RENDER。我已經完成了我從開始時手動更改rcParams到使用更新函數等所見過的每一個StackOverflow建議。 –