Полностью имена xlabel и ylabel обрезаются, как заставить их выглядеть полными? - PullRequest
1 голос
/ 24 сентября 2019

Я пытался создать тепловую карту, используя plotly3.10, и я столкнулся с одной проблемой, заключающейся в том, что имена столбцов не отображаются полностью в ylabel.

import pandas as pd
import plotly.figure_factory as ff
from plotly.offline import plot, iplot, init_notebook_mode
df = pd.util.testing.makeDataFrame()
df.columns = ['this_is_long_column_name','another_column_name','yet_another_column_name','price']
df_corr = df.corr()
z = df_corr.values
fig = ff.create_annotated_heatmap(z,showscale=True,
                                  x=df_corr.columns.values.tolist(),
                                  y=df_corr.columns.values.tolist()
                                  )

iplot(fig)

Я получил это изображение: enter image description here

Вопрос

  1. Как отобразить полное имя столбца в ylabels?
  2. Как отобразить xlabel сверху и снизу с большими размерами шрифтов?
  3. Как показать только 2 значащих числа, например, df.round(2) только на графике?

Ответы [ 2 ]

1 голос
/ 24 сентября 2019

Это может работать для вас:

import numpy as np
import pandas as pd

import plotly
import plotly.offline as py
import plotly.graph_objs as go
import plotly.figure_factory as ff
from plotly.offline import plot, iplot, init_notebook_mode
init_notebook_mode(connected=False)



df = pd.util.testing.makeDataFrame()
df.columns = ['this_is_long_column_name','another_column_name','yet_another_column_name','price']
df_corr = df.corr()
z = df_corr.round(2).values
fig = ff.create_annotated_heatmap(z,showscale=True,
                                  x=df_corr.columns.values.tolist(),
                                  y=df_corr.columns.values.tolist()
                                  )

layout = go.Layout(margin=dict(l=200, r=50, t=100, b=50))
fig.layout.update(layout)

iplot(fig)

Дает: enter image description here

1 голос
/ 24 сентября 2019

Вы пробовали вручную указывать поля?Например:

import plotly.graph_objs as go

layout = go.Layout(
    margin=dict(l=80, r=80, t=100, b=80)
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...