Я работаю над проблемой с данными, моя главная проблема - создать сетку для некоторых станций.
я не мог сделать топор или горизонтальную линию с пунктирным стилем линии и имел шаг 2 минуты.
%matplotlib
import numpy as np
import matplotlib as mpl
import matplotlib.dates as mdates
import matplotlib.pyplot as plt
import pandas as pd
from pptx import Presentation
from pptx.util import Inches
try:
from StringIO import StringIO
except ImportError:
from io import StringIO
from IPython.display import Image
def grid_sncf_generation_mitry():
plt.figure(figsize=(10,5))
# general var
# id station
plt.ylabel("MITRY")
# Adding the time zone / restricted time zone for a good visualization
v2=np.datetime64('2019-04-13T03:30')
v1=np.datetime64('2019-04-13T05:40')
# Adding Stations V5 / V3 / SAS5 / SAS3
plt.hlines("GA",v1,v2,"grey","dotted",colors=[255,255,255])
plt.hlines("SAS3",v1,v2,"grey","dotted")
plt.hlines("SAS5",v1,v2,"grey","dotted")
plt.hlines("V3",v1,v2,"grey","dotted")
plt.hlines("V5",v1,v2,"grey","dotted")
# Adding Vertical lines
plt.vlines(v2,0,4,"grey","dashdot")
v2=np.datetime64('2019-04-13T04:00')
plt.vlines(v2,0,4,"black","solid")
v2=np.datetime64('2019-04-13T04:30')
plt.vlines(v2,0,4,"grey","dashdot")
v2=np.datetime64('2019-04-13T05:00')
plt.vlines(v2,0,4,"black","solid")
v2=np.datetime64('2019-04-13T05:30')
plt.vlines(v2,0,4,"grey","dashdot")
plt.axhline(y='V5',xmin=0.046, xmax=0.5)
# Time axis
# Adding Hours
myFmt = mdates.DateFormatter('%H')
plt.gca().xaxis.set_major_formatter(myFmt)
plt.gca().xaxis.set_major_locator(mdates.HourLocator())
# Adding Minutes
myFmt2 = mdates.DateFormatter('%M')
plt.gca().xaxis.set_minor_formatter(myFmt2)
plt.gca().xaxis.set_minor_locator(mdates.MinuteLocator([10, 20, 30, 40, 50]))
# Minimisize the police of minutes
for tick in plt.gca().xaxis.get_minor_ticks():
tick.label.set_fontsize(6)
# Ajustmenet xaxis on the top
axes = plt.gca()
axes.xaxis.set_ticks_position('top')
plt.show()
plt.savefig('graph.jpg')
grid_sncf_generation_mitry()
Я ожидаю, что выходные данные будут горизонтальными линиями с шагом 2 минуты, но фактический результат не имеет значения (только точки).