Стиль Seaborn и тепловые карты Plotly - PullRequest
0 голосов
/ 27 декабря 2018

Я создал сюжет с Seaborn:

# create some random data
N = 20
rand_matrix = np.asarray([random.randrange(1,11)/10 for _ in range(1, N*N+1) ]).reshape(N,N)
data = np.flip(np.triu(rand_matrix), 1)
df = pd.DataFrame(data, index=pd.date_range(start='2015-01-01', freq='MS',\ 
                  periods=N), columns = range(1,N+1))
df[1]=1

# seaborn plot
%matplotlib inline
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

plt.figure(figsize=(20,20))
sns.heatmap(data = df,
            annot = True,
            vmin = 0.0,
            vmax = 1.0,
            cmap = 'PuBuGn')

enter image description here

Вот как я создаю график Plotly:

import plotly.offline as py
import plotly.graph_objs as go

py.init_notebook_mode(connected=True)

data = [
    go.Heatmap(
        z=df.values,
        x=df.columns.tolist(),
        y=df.index.tolist()
    )
]

layout = go.Layout(
    xaxis = dict(ticks='', nticks=N),
    yaxis = dict(ticks='', nticks=N))

fig = go.Figure(data=data, layout=layout)
py.iplot(fig)

enter image description here

У меня есть следующие вопросы:

  • Seaborn: Как изменить метки оси Y на YYYY-MM?
  • Plotly: как получить более старые данные (как в Seaborn)
  • Plotly: как получить метки данных, отображаемые в тепловой карте (как это делает Seaborn).
  • Plotly: я заметил, что рендеринг намного медленнее, чем Seaborn.Можно ли его оптимизировать, если да, то как?
...