我正在尝试使用Bokeh而不是matplotlib来复制这个问题中显示的HeatMap。然而,我还没有做到完全正确。现有的示例没有帮助我理解我做错了什么。这是我的一次尝试。
from bokeh.io import output_notebook; output_notebook()
from bokeh.charts import HeatMap, show
from bokeh.palettes import RdYlGn6
import pandas as pd
import numpy as np
nba = pd.read_csv(urlopen("http://datasets.flowingdata.com/ppg2008.csv"), index_col=0)
# Normalize the data columns and sort.
nba = (nba - nba.mean()) / (nba.max() - nba.min())
nba.sort('PTS', inplace=True)
score = []
for x in nba.apply(tuple):
score.extend(x)
data = {
'players': list(nba.index) * len(nba.columns),
'metric': list(nba.columns) * len(nba.index),
'score': score,
}
hm = HeatMap(data, x='metric', y='players',values='score', title='Fruits', stat=None)
show(hm)
提供:
请注意,尽管标题相似,但这个并不回答我的问题。这不是同样的错误,并且我正在使用Bokeh 0.12.3。
players
和metric
列表,其中一个需要逐个元素重复。 - p-robot