2017-04-20 78 views
2

我想繪製使用matplotlib和mpld3的東西。這是我用來生成我的圖形的代碼:更改mpld3中的刻度標籤顏色

_fig = plt.figure() 
_pl = _fig.add_subplot(111) 
_pl.plot(_times, _values) 
_pl.set_xlabel("Time") 
_pl.set_ylabel("Value") 

_pl.tick_params(direction="out", axis="both", colors="white", which="both") 
_pl.xaxis.label.set_color("white") 
_pl.yaxis.label.set_color("white") 

_data = mpld3.fig_to_html(_fig) 
.... send to client to be rendered 

創建一個圖並且所有動態控件都可以工作。 「時間」和「值」標籤以白色打印,但標記爲黑色。

如果我跳過mpld3並使用plt.show()進行測試,所有刻度標籤都會以白色打印。當我檢查由mpld3生成的javascript代碼時,我似乎沒有檢測到刻度標籤的顏色設置。

如果我在tick_params中使用另一個參數,如字體大小,它確實有效果。只有顏色被忽略,這會導致標籤在深藍色背景上以黑色打印。

我該如何改變?

編輯:

檢查時呈現的實際頁面,似乎是決定顏色的「填充」屬性。

div#fig_el249691400950908834083380374260 .mpld3-xaxis text 
{font-family:sans-serif; font-size:10px; fill:black; stroke:none; } 

我試着重寫這個在CSS中,但我不知道如何做到這一點。這似乎無視我在別處設置的任何東西。它出現mpld3設置滴答標籤的顏色,但我該如何修改?

哈努哈利

+1

此[已知問題列表](https://github.com/mpld3/mpld3/wiki)可能會引起您的興趣,它會顯示:「標記位置和標記格式未被準確反映」。 – ImportanceOfBeingErnest

+0

也許這是一個功能。快速和骯髒的解決方法是更改​​背景顏色。我的網頁看起來並不像以前那樣有着堅實的藏青色背景,但至少標籤是可見的。 – Hannu

+0

我也有這個問題;我知道不支持格式化,但是(由於這種情況不太可能在短時間內得到支持),更好的解決方法是在CSS中覆蓋它的解決方案。我會繼續尋找。 –

回答

0

mpld3僅支持matplotlib的全部功能的一個子集,並勾選格式化的還未被支持的許多事情之一。在mpld3 wiki上有這些缺失功能的部分列表。