<html>
<head>
<title>HTML Document</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
</head>
<body>
<div id="hover-id">
Hello World
</div>
<script>
jQuery(document).ready(function($){
$(document).on('mouseover', '#hover-id', function(){
$(this).css('color','yellowgreen');
});
$(document).on('mouseout', '#hover-id', function(){
$(this).css('color','black');
});
});
</script>
</body>
</html>
К сожалению, представляется невозможным построить график штрихов и линейный график для тех же осей в пандах, если ось х является осью даты.
Обходным путем является использование барплота matplotlib вместо
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("data.csv", index_col="DateTime", parse_dates=True, delim_whitespace=True)
fig, ax= plt.subplots()
ax.plot_date(df.index, df.iloc[:,11], '-')
for i in range(10):
diff = df.index[1]-df.index[0]
spacing = diff/(1.3*len(df.columns))
ax.bar(df.index+(-5+i)*spacing, df.iloc[:,i],
width=spacing/diff, label=df.columns[i])
plt.legend()
plt.gcf().autofmt_xdate()
plt.show()
Можно будет построить график штрихов и график линии в тех же осях, если пренебречь факт, что точки - это даты. В следующем коде следует, что мы не читаем первый столбец как индекс.
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("data.csv", parse_dates=True, delim_whitespace=True)
ax = df.iloc[:,[0,1,2,3,4,5,6,7,8,9,10,11]].plot(kind='bar')
df.iloc[:,12].plot(linestyle='-', marker='o', ax = ax)
ax.set_xticklabels(df.DateTime, rotation=40)
plt.show()
Таким образом, этот метод создаст график, в котором бары и линейные точки просто упорядочиваются по их индексу (который не является датой). Это может быть приемлемо или не зависит от того, совпадают ли даты с интервалом.
Если мы, например, измените входной файл, чтобы пропустить дату (11/6/2014 нет), код будет генерировать
, где бары и точки линии все еще находятся на равном расстоянии, хотя даты в действительности не являются.
Построение одних и тех же данных за один день, пропущенных с кодом matplotlib с начала ответа, мы получаем
, где действительно отсутствует 11/6/2014.
Вам просто нужно построить их на одной оси
ax = df.iloc[:,[0,1,2,3,4,5,6,7,8,9,10]].plot(kind='bar')
df.iloc[:,12].plot(linestyle='-', marker='o', ax = ax)
ax.set_xticklabels(df.DateTime, rotation=40) #set the x-ticks to datetime column and rotate
- это код, который я использовал для построения графиков на одном графике