Номер оси формата Python ggplot в процентах не работает

Мне понравился новый модуль ggplot в Python, но я не смог отформатировать свои метки y как проценты вместо десятичных знаков. Приведенный ниже код создает следующее изображение. Обратите внимание, что код labels = 'percent' не создает предполагаемый формат.

plot = ggplot(aes(x='Date', y='return', color='Stocks'),data=rx) +\
geom_line() +\
scale_x_date(breaks=date_breaks('1 day'), labels='%b %d %Y') +\
scale_y_continuous(labels= 'percent') +\
ylab('Cumulative Return') + ggtitle('S&P Sector Performance') 

введите здесь описание изображения


person BCR    schedule 22.04.2014    source источник
comment
Две мысли: 1) функция процентов есть в пакете Scales; было ли это загружено/прикреплено/какой бы ни была номенклатура для эквивалента library("scales") из Python? 2) Попробуйте без кавычек вокруг percent; они не обязательны, но могут быть разрешены (навскидку не напомню).   -  person Brian Diggs    schedule 23.04.2014
comment
Я знал, что это из библиотеки «весов», но думал, что видел ex с%, но это мог быть ggplot2 R. Я проверил их примеры и понял, что они этого не показывают, так что вы, вероятно, правы в том, что библиотека 'scales' еще не портирована. Python требует кавычек. Однако странно, что большинство других форматов весов работают, включая «запятую», «миллионы» и т. Д.   -  person BCR    schedule 23.04.2014
comment
Что произойдет, если вы замените 'percent' на percent_format()?   -  person Brian Diggs    schedule 23.04.2014
comment
процент_формат() не определен и выдает ошибку. Все, что вы передаете в scale_y_continuous(labels= 'percent'), которое не распознано, по умолчанию отображается в стандартных десятичных дробях. Это включает в себя неправильно написанные «запятые», «%» и т. д.   -  person BCR    schedule 24.04.2014
comment
О, я только что понял, что вы имеете дело с портом ggplot2 в python, а не с мостом между python и R. Боюсь, что я недостаточно знаю (ну, вообще ничего) об этом, чтобы оказать реальную помощь. Извините, что загнал вас в тупик.   -  person Brian Diggs    schedule 24.04.2014
comment
извините, я почти уверен, что это еще не реализовано. Существует github.com/yhat/ggplot/issues/283, который, вероятно, реализует этой и других шкал. Пожалуйста, подпишитесь там и добавьте свои пожелания/использования. Спасибо!   -  person Jan Katins    schedule 24.04.2014


Ответы (1)


Теперь это доступно в версии 0.5.3 (я только что нажал это).

>>> from ggplot import *
>>> import numpy as np
>>> import pandas as pd
>>> df = pd.DataFrame({ "x": np.arange(0, 10), "y": np.arange(0, 1, 0.1) })
>>> ggplot(df, aes(x='x', y='y')) +\
... geom_point() +\
... scale_y_continuous(labels='percent')

ggplot scale_x_continuous процентов

person Greg    schedule 24.04.2014