So formatieren Sie die y-Achse in Matplotlib, damit sie nicht exponentiell ist

Vitalii Shchudlo

Ich erstelle ein Diagramm und erhalte das nächste Ergebnis:

Bildbeschreibung hier eingeben

Wie kann man diese schlechte Nummerierung und 1e6höher beheben ?

Warum ist das so?

Ich habe versucht, die Lösung zu verwenden, um die wissenschaftliche Notation in matplotlib.pyplot zu verhindern , aber es hat nicht funktioniert.

Mein Code:

import matplotlib.pyplot as plt
plt.title(f'TOP 10 videos by {choice}')
plt.xlabel('TOP places')
plt.ylabel(f'Number')

labels_top = ['Top10', 'Top9', 'Top8', 'Top7', 'Top6', 'Top5', 'Top4', 'Top3', 'Top2', 'Top1']
y_count = [50235, 90312, 150123, 250000, 290134, 370241, 385153, 768512, 955025, 1255531]

for graph in range(len(y_count[:10])):
    plt.bar(labels_top.pop(), y_count.pop())
    
plt.gca().ticklabel_format(style='plain')

Ich habe diesen Fehler:

Traceback (most recent call last):
  File "/home/vitalii/PycharmProjects/mediagroupukraine_test_task/venv/lib/python3.8/site-packages/matplotlib/axes/_base.py", line 3130, in ticklabel_format
    axis.major.formatter.set_scientific(is_sci_style)
AttributeError: 'StrCategoryFormatter' object has no attribute 'set_scientific'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "app.py", line 41, in <module>
    start()
  File "app.py", line 37, in start
    app(channel_name, channel_id)
  File "app.py", line 27, in app
    menu_graphs()
  File "app.py", line 25, in menu_graphs
    show_statistic_graph(formatted_data_for_graphs, menu_choice)
  File "/home/vitalii/PycharmProjects/mediagroupukraine_test_task/graphs.py", line 48, in show_statistic_graph
    plt.gca().ticklabel_format(style='plain')
  File "/home/vitalii/PycharmProjects/mediagroupukraine_test_task/venv/lib/python3.8/site-packages/matplotlib/axes/_base.py", line 3140, in ticklabel_format
    raise AttributeError(
AttributeError: This method only works with the ScalarFormatter
Zephyr

Sie müssen angeben, an matplotlib.axes.Axes.ticklabel_formatwelche Achse Sie formatieren möchten, in Ihrem Fall nur yAchse, also:

plt.gca().ticklabel_format(axis='y', style='plain')

Da Sie keinen axisParameter an übergeben ticklabel_format, wird der Standardwert verwendet, also both. Auf diese Weise matplotlibwird versucht, auch mit der style = 'plain'x-Achse zu formatieren , aber dies ist nicht machbar, also erhalten Sie die AttributeError.

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Formatieren Sie die y-Achse in Prozent

Formatieren Sie die y-Achse in plot.ly als Prozent

So teilen Sie die sekundäre y-Achse zwischen Unterplots in matplotlib

So teilen Sie die sekundäre y-Achse zwischen Unterplots in matplotlib

So zeigen Sie die Gitterlinie für die Y-Achse in matplotlib an

So formatieren Sie die Dauer

Formatieren Sie die y-Achse zum Zeichnen der Tageszeit mit qplot / ggplot2

So stellen Sie die Achse so ein, dass sie in Matplotlib an der Ecke beginnt

Formatieren Sie die pandas y-Achse so, dass die Zeit anstelle der gesamten Sekunden angezeigt wird

So drehen Sie die Beschriftung der sekundären y-Achse, damit sie sich nicht mit y-Ticks überlappt, matplotlib

So drehen Sie den Titel der y-Achse (nicht die Beschriftung) in ggplot2 horizontal

So setzen Sie die y-Achse in matplotlib auf Tausende

Pyplot / Matplotlib: So erreichen Sie eine komprimierte y-Achse

So finden Sie den Drehwinkel, sodass die Y-Achse von zwei Punkten gleich ist

So formatieren Sie die x-Achse, um sie jedes Jahr auf den Hauptstrichen anzuzeigen

Formatieren Sie die bisherige Achse - Google Chart

So richten Sie die y- und x-Achse mit matplotlib aus

So setzen Sie die Ticks auf einer logarithmischen Achse in matplotlib

Verschieben Sie die wissenschaftliche Notation exponentiell zur rechten Seite der y-Achse in matplotlib

So formatieren Sie die Abfragezeichenfolge

So beschriften Sie die X-Achse mit Python Matplotlib

So zeichnen Sie mit dem Matplotlib-Histogramm, wobei die x-Achse der tägliche Zeitstempelbereich ist

So verstecken/zeigen Sie eine Achse, nicht eine Achse in Matplotlib

So formatieren Sie die Legende mit scale_color_discrete in einem gestapelten Plot und lassen Sie Tausendertrennzeichen in der y-Achse r . enthalten

So ändern Sie die Größe der x-Achse und unterscheiden sie von der y-Achse Matplotlib

So aktualisieren Sie die Y-Achse in Matplotlib

So "drehen" Sie die Matplotlib.pyplot.imshow-Achse?

So formatieren Sie eine Gleitkommazahl so, dass die Ziffer vor dem Trennzeichen nicht angezeigt wird, wenn sie 0 ist

So ordnen Sie die Zeit auf der Y-Achse an

TOP Liste

heißlabel

Archiv