[英]Format a table that was added to a plot using pandas.DataFrame.plot
[英]Using Colormap feature with Pandas.DataFrame.Plot
from matplotlib import cm
a = pd.DataFrame(zip(ranFor.feature_importances_, trainSet.columns))
a = a.sort_values(by = [0], ascending= False)
tinydata = a.iloc[:25]
tinydata = tinydata[::-1]
tinydata.set_index([1], inplace=True)
cmap = cm.get_cmap('jet')
colors = cm.jet(np.linspace(0,1,len(tinydata)))
tinydata.plot(kind = 'barh', figsize = (15,10), title = 'Most Important 20 Features of the Initial Model',
grid = True, legend = False, color = colors)
plt.xlabel('Feature Importance')
plt.show()
大家好,這是我繪制條形圖 plot 的代碼。 問題是我無法弄清楚如何 plot colors 與顏色圖增加透明度,就像我附加到我的問題的圖表一樣。 謝謝你。
編輯
colors = cm.Reds(np.linspace(0,len(tinydata),1))
tinydata.plot(kind = 'barh', figsize = (15,10), title = 'Most Important 20 Features of the Initial Model',
grid = True, legend = False, color = colors)
我做了這樣的改變,我想它有效,但 colors 真的很蒼白。 我該如何改變這一點。
恐怕 pandas 不提供此功能。 盡管他們在文檔中說color
可以采用數組,但這指的是不同的列,我們也可以在這個例子中看到:
from matplotlib import cm
import pandas as pd
from matplotlib import pyplot as plt
import numpy as np
tinydata = pd.DataFrame({"ind": list("ABCDEF"),
"X": [10, 8, 7, 6, 4, 1],
"Y": [5, 3, 4, 2, 3, 1],
"Z": [8, 5, 9, 6, 7, 3] })
tinydata = tinydata[::-1].set_index("ind")
n = len(tinydata)
colors = cm.Reds(np.linspace(0.2, 0.8, 3))
tinydata.plot(kind = 'barh', figsize = (15,10), title = 'Most Important 20 Features of the Initial Model',
grid = True, legend = True, color = colors)
plt.xlabel('Feature Importance')
plt.show()
在 pandas 提供常用繪圖功能的情況下,這是有道理的。 因此,對於您的應用程序,它又回到了 pandas 無論如何都依賴的matplotlib的多功能性:
from matplotlib import cm
import pandas as pd
from matplotlib import pyplot as plt
import numpy as np
tinydata = pd.DataFrame({"ind": list("ABCDEF"),
"X": [10, 8, 7, 6, 4, 1]})
tinydata = tinydata[::-1].set_index("ind")
n = len(tinydata)
colors = cm.Reds(np.linspace(0, 1, n))
fig, ax = plt.subplots(figsize = (15,10))
ax.barh(tinydata.index, tinydata.X, color = colors)
ax.grid(True)
ax.set_xlabel('Feature Importance')
ax.set_title('Most Important 20 Features of the Initial Model',)
plt.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.