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

SpartanDawg

Ich habe versucht, alle set_xticks- oder Gitteroptionen zu entfernen und nur den Datenrahmen zu zeichnen, und ich kann die X-Achse nicht dazu bringen, das Überspringen von Jahren zu stoppen.

Problem beim Überspringen des Datums

Der Index lautet DateTime-Stempel JJJJ-MM-TT, und die Spalten sind alle Gleitkommazahlen.

DF-Struktur

ax = Export_DF.plot.area()

ax.grid(color='black',alpha=.3)
ax.grid(which='minor', linestyle=':', linewidth='0.5', color='black')

major_ticks = np.arange(0, 101, 20)
minor_ticks = np.arange(0, 101, 5)

ax.set_yticks(major_ticks)
ax.set_yticks(minor_ticks, minor=True)

X_Dates = []
for i in range(12):
    X_Dates.append(pd.to_datetime('1/1/'+str(2010+i)))
ax.xticks(X_Dates)
ax.set_xticks(X_Dates,minor=True)

ax.grid(which='minor', alpha=0.3)
ax.grid(which='major', alpha=0.5)

handles, labels = ax.get_legend_handles_labels()
ax.legend(reversed(handles), reversed(labels),bbox_to_anchor=(1.02, 1))  # reverse both handles and labels

for i in range(len(Export_DF)):
    temp_series = Export_DF.iloc[i]
    temp_x_cord = temp_series.name
    count = [0]
    for j in temp_series:
        if j != 0:
            count.append(count[-1]+j)
            ax.annotate(str(round(j,1)),(temp_x_cord,(count[-1]+count[-2])/2),size=8,ha='center')

plt.show()
Trenton McKinney
  • Bei der Arbeit mit Datum / Uhrzeit-Daten auf der Achse matplotlib.datessollten verwendet werden.
  • Verwenden der für Datum-Tick-Beschriftungen gezeigten Implementierung
  • dateminund datemaxmuss in einem Datum / Uhrzeit-Format vorliegen, um von der erkannt zu werden DateFormatter. Verwenden Sie als solches, np.datetime64(data.index.array[0], 'Y')was dazu führt numpy.datetime64('2021'), wo als data.index.year.min()Ergebnis eine int.
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import numpy as np
import pandas as pd

# create a sample dataframe
data = pd.DataFrame({'v1': [10]*4000, 'v2': [20]*4000}, index=pd.bdate_range('2021-01-11', freq='D', periods=4000))

years = mdates.YearLocator()   # every year
years_fmt = mdates.DateFormatter('%Y')

# create the plot
ax = data.plot.area(x='date', figsize=(8, 6))

# format the ticks only for years on the major ticks
ax.xaxis.set_major_locator(years)
ax.xaxis.set_major_formatter(years_fmt)

# round to nearest years. Also, the index must be sorted and in a datetime format.
datemin = np.datetime64(data.index.array[0], 'Y')
datemax = np.datetime64(data.index.array[-1], 'Y') + np.timedelta64(1, 'Y')

# set the x-axis limits
ax.set_xlim(datemin, datemax)

# turn the grid on, if desired
ax.grid(True)

plt.show()

Formatiertes Diagramm

Geben Sie hier die Bildbeschreibung ein

Unformatiertes Diagramm

ax = data.plot.area(figsize=(8, 6))

Geben Sie hier die Bildbeschreibung ein

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

TOP Liste

  1. 1

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  2. 2

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  3. 3

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  4. 4

    Popup-Fenster oder mehrere Fenster mit PyQt5 / QtDesigner

  5. 5

    Rekursive Funktion, deren Ausführung ewig dauert

  6. 6

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  7. 7

    Was ist schneller: SUM über NULL oder über 0?

  8. 8

    RGB-Daten, die vom Python-Programm gesendet werden, werden von Arduino nicht richtig empfangen

  9. 9

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  10. 10

    Unity Build-Fehler: Der Name 'EditorUtility' ist im aktuellen Kontext nicht vorhanden

  11. 11

    Löschen Sie Text in div mit Javascript

  12. 12

    Wie kann ich eine Schleife mit der Funktion #define erstellen?

  13. 13

    Summieren der Werte von JSON-Objekten in Javascript

  14. 14

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  15. 15

    Blättern Sie auf Radio Click zur Abschnitts-ID

  16. 16

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  17. 17

    Eclipse Oxygen - Projekte verschwinden

  18. 18

    Springe zur nächsten Gruppe, wenn die Bedingung erfüllt ist

  19. 19

    Wie kann ich den Kaskadenmodus global einstellen?

  20. 20

    So laden Sie Bilder je nach Browserbreite

  21. 21

    Wie leite ich eine Schnittstelle aus Klasseneigenschaften (ohne Methoden) in Typescript ab?

heißlabel

Archiv