是否有可能知道當前matplotlib樣式的名稱?我知道我可以使用plt.style.available
獲得所有可用樣式的列表,但我想要的是可以獲取當前正在使用的樣式的名稱。我在Spyder的python 3.5的ipython控制檯工作,但如果回答這個問題取決於我的工作環境,我會感到驚訝:)如何找到matplotlib樣式名稱?
3
A
回答
1
看着the source of plt.style.use
,我沒有看到任何使用新風格做任何事情來存儲正在使用的風格的名稱。
我想到了手動檢查當前rcParams
對每一個可用的風格,這樣的事情:
import matplotlib.pyplot as plt
for style in plt.style.available:
for key in plt.style.library[style]:
if plt.rcParams[key] != plt.style.library[style][key]:
break
else:
print('Current style is consistent with {}.'.format(style))
但沒有爲我的默認樣式匹配可用樣式。然後,我也印錯配的原因:第二項
Discarding style seaborn-paper: 0.6 vs 0.4 for key xtick.minor.width
Discarding style seaborn-whitegrid: w vs white for key figure.facecolor
Discarding style seaborn-talk: 0.8 vs 1.3 for key grid.linewidth
注:輸出
for style in plt.style.available:
for key in plt.style.library[style]:
val_now,val_style = plt.rcParams[key],plt.style.library[style][key]
if val_now != val_style:
print('Discarding style {}: {} vs {} for key {}'.format(style,val_now,val_style,key))
break
else:
print('Current style is consistent with {}.'.format(style))
部分w
VS white
。現在這是一個問題。命名的顏色不容易通過不同的名稱或RGBA值等同於相同的顏色。
然後我想到了使用matplotlib.colors.to_rgba()
轉換每種顏色,但是如果您想要正確地執行此操作,則需要完全解析參數,包括像這樣的寶石:
Discarding style grayscale: figure.facecolor,w vs figure.facecolor,0.75
即使後者的值對應白色,我們需要先分析該值並找到埋藏着裏面的顏色。
對我來說,唯一的安全實現似乎是讓plt.style.use
在某處存儲樣式的名稱。但是,如果手動更改了rcParams
中的任何內容,會發生什麼情況?那麼不會有是這是一種當前加載的樣式。這是反對存儲樣式名稱的反駁。每當參數發生變化時,都必須進行檢查,使最後的plt.style.use
調用的樣式名稱失效。我不確定你的問題有明顯的解決方案。
相關問題
- 1. matplotlib ImportError:無法導入名稱'樣式'
- 2. matplotlib 2.0.0的默認樣式的名稱是什麼?
- 3. 找不到與指定名稱(樣式)匹配的資源
- 4. WPF:無法在資源中找到名稱樣式
- 5. Apex:如何找出模式名稱?
- 6. GWT默認樣式名稱
- 7. 如何找到根路徑名稱
- 8. 如何找到IIS功能的名稱
- 9. 如何找到重複的名稱
- 10. 如何找到xml的標籤名稱?
- 11. 如何找到metamethod的名稱?
- 12. 如何找到日期名稱?
- 13. 如何找到標籤名稱
- 14. 如何找到smtp服務器名稱
- 15. 如何找到列表的名稱
- 16. 如何找到jsp的名稱文檔?
- 17. 得到的顏色名稱matplotlib
- 18. 將csv數據導入到matplotlib時如何使用名稱
- 19. 如何查找Jframe名稱
- 20. matplotlib圖形畫布名稱
- 21. 樣式屬性名稱格式
- 22. 如何在WPF中按名稱查找樣式觸發器嵌入的元素?
- 23. 如何以編程方式查找EJB的JNDI查找名稱?
- 24. 如何找到彩條的顏色matplotlib
- 25. 找不到名稱「FunctionName」
- 26. 找不到函數名稱
- 27. Typescript找不到名稱'functionName'
- 28. 找不到名稱「PROPERTYKEY」
- 29. TypeScript找不到名稱Weakmap
- 30. 找不到名稱'console'