#python-3.x #string
#python-3.x #строка
Вопрос:
Я искал в Google то, что кажется вечностью, и я не могу ни за что понять это.
Plotly использует стиль формата печати для меток оси x, и мои метки имеют длину около 7 символов, и я хочу уменьшить количество символов до 3
Ввод: 1200000k
Желаемый результат: 120
Ниже я возился с тем, что кажется вечным, но безрезультатно. Я удалил K, поэтому мне интересно, понимает ли кто-нибудь еще, как это сделать с помощью номенклатуры форматирования pythons print.
Вот код ниже, в основном вы передаете формат меток в объект figure.
fig.update_layout(
xaxis_tickformat = '3i%',
)
Вот еще несколько разъяснений
Комментарии:
1. Зачем понижать его? Или вы можете привести доводы. Буквально, это не имеет для меня никакого смысла…..
Ответ №1:
Вы можете сделать это с помощью нарезки строк. Попробуйте приведенный ниже код.
k = "1200000k"
print(k[:3])
Комментарии:
1. Не могу передать это в plotly, оно должно быть в этом формате fstring : (
2. Так разве вы не можете управлять данными?
3. Я могу, но я буду часто использовать этот код во многих вариантах. У меня много данных, и выполнение такого рода манипуляций кажется очень неэффективным. Просто кажется абсурдным, что это сложно сделать в plotly / python, чтобы просто получить первые 3 символа моей строки.
4. В документации говорится о синтаксисе, подобном d3, но неясно, как его достичь. plotly.com/python/reference/#layout-xaxis-tickformat Изменение входных данных может быть простым вариантом.
5. Да, plotly сделал это очень сложным для выполнения …… когда я перешел на d3, я был похож на wtf….
Ответ №2:
Я не нашел решения, а вместо этого обработал данные, как предложил Митилеш. Я разделил на 1000 и преобразовал в целое число как самое простое решение.
Форматирование для графических форматов, которые я должен признать, очень тусклое с точки зрения документации, поэтому любой, кто сталкивается с этой проблемой. Я не разрешил это после 2-3 часов поиска в Google.