Vì bạn không cung cấp bất kỳ dữ liệu nào hoặc thậm chí giải thích những gì bạn muốn hiển thị chính xác trên trục y, tôi sẽ trả lời với những gì nên hoạt động:
fig.update_yaxes[tickformat=".2s"] # will format to 2 sigfigs
Nếu bạn muốn các giá trị đánh dấu cách nhau thường xuyên cho trục y, bạn có thể chuyển danh sách các giá trị hoặc sử dụng dtick
và tick0
, được giải thích trong tài liệu
Vì vậy, ví dụ, bạn có thể sử dụng
fig.update_yaxes[tickformat="~s", tickvals=[*range[100000, 1000000, 1000]]]
Đối với các giá trị đánh dấu trong các bước 1000, bắt đầu từ 100000, kết thúc ở 999000, cắt giảm các số 0 không đáng kể.
Lưu ý rằng hậu tố K
sẽ chuyển sang M
khi các giá trị đánh dấu đạt được vào hàng triệu, v.v. Nếu bạn luôn muốn sử dụng K
, bạn sẽ cần tự xác định bằng cách sử dụng tham số
fig.update_yaxes[tickformat="~s", tickvals=[*range[100000, 1000000, 1000]]]
0:tickvals = [*range[100_000, 1_000_000_000, 1000]]
ticktext = [f"{t // 1000:,}K" for t in tickvals]
fig.update_yaxes[tickvals=tickvals, ticktext=ticktext]
Điều này sẽ đánh dấu các số định dạng và định dạng trong hàng ngàn và nối thêm
fig.update_yaxes[tickformat="~s", tickvals=[*range[100000, 1000000, 1000]]]
1, ví dụ, fig.update_yaxes[tickformat="~s", tickvals=[*range[100000, 1000000, 1000]]]
2 trở thành fig.update_yaxes[tickformat="~s", tickvals=[*range[100000, 1000000, 1000]]]
3. TUY
TUY Điều NÀy Không Cần Thiết Là NGOÀi ra, TUY
Vì Tò Mò, Tôm Đu Th Dữ liệu thử ngghiệm của tuy kết thúc một lợi thế nhỏ cho nhiệm vụ nào
Tôi cũng rất vui khi thấy những gì tôi nghi ngờ: Sử dụng phương pháp Xrange ngược là không cần thiết trong trường hợp không có r-REX, nhưng nó làm cho mã trông tốt hơn một chút với chi phí hiệu suất ~ 10%.
Ngoài ra, tôi giả sử những gì bạn đang đi là một chuỗi và trông giống như một con số. Kết quả không được xác định khác.
from __future__ import with_statement
from contextlib import contextmanager
import re,time
re_first_num = re.compile[r"\d"]
def intcomma_noregex[value]:
end_offset, start_digit, period = len[value],re_first_num.search[value].start[],value.rfind['.']
if period == -1:
period=end_offset
segments,_from_index,leftover = [],0,[period-start_digit] % 3
for _index in xrange[start_digit+3 if not leftover else start_digit+leftover,period,3]:
segments.append[value[_from_index:_index]]
_from_index=_index
if not segments:
return value
segments.append[value[_from_index:]]
return ','.join[segments]
def intcomma_noregex_reversed[value]:
end_offset, start_digit, period = len[value],re_first_num.search[value].start[],value.rfind['.']
if period == -1:
period=end_offset
_from_index,segments = end_offset,[]
for _index in xrange[period-3,start_digit,-3]:
segments.append[value[_index:_from_index]]
_from_index=_index
if not segments:
return value
segments.append[value[:_from_index]]
return ','.join[reversed[segments]]
re_3digits = re.compile[r'[?