Я использую функцию линейного графика для флота, но у меня возникают трудности с совпадением меток на оси x и y на графике. Мой график выглядит следующим образомЯрлыки флота, перекрывающиеся с моим графиком
В идеале я хотел бы переместить метки слева и внизу, так что они не пересекаются с графиком. Я построение графа как так
$(function() {
<%
js_data = []
ids = []
@user_my_objects.each do |user_my_object|
ids.push(user_my_object.id)
my_object_day_time_in_ms = user_my_object.my_object.day.strftime('%Q')
js_data.push("[#{my_object_day_time_in_ms}, #{user_my_object.time_in_ms}]")
end
%>
// <%= ids %>
var data = [<%=h js_data.join(",") %>];
$("<div id='tooltip'></div>").css({
position: "absolute",
display: "none",
border: "1px solid #fdd",
padding: "2px",
"background-color": "#fee",
opacity: 0.80
}).appendTo("body");
$.plot("#placeholder", [data], {
yaxis: {
tickFormatter: formatTime
},
xaxis: { mode: "time" },
points: {
show: true
},
lines: {
show: true
},
grid: {
hoverable: true,
clickable: true,
tickColor: "#efefef",
borderWidth: 0,
borderColor: "#efefef"
},
tooltip: true
});
$("#placeholder").bind("plothover", function (event, pos, item) {
if (item) {
var x = item.datapoint[0].toFixed(2),
y = item.datapoint[1].toFixed(2);
console.log("x:" + x)
dateObj = new Date(parseInt(x))
var dateStr = $.datepicker.formatDate('MM dd, yy', dateObj)
$("#tooltip").html(dateStr + " - " + formatTime(y))
.css({top: item.pageY+5, left: item.pageX+5})
.fadeIn(200);
} else {
$("#tooltip").hide();
}
});
});
Edit: Увы неуловимый Fiddle - http://jsfiddle.net/edc8jd31/1/
Попробуйте использовать опции «margin» и «labelMargin» в разделе «grid», см. [Здесь] (https://github.com/flot/flot/blob/master/API.md#customizing-the-grid) , – Raidri
Итак, «labelMargin», правильно, потому что «margin» просто, кажется, все перемещает от краев div? Также есть ли способ, чтобы метки на оси X находились на другом расстоянии от ярлыков оси Y? – Dave
Используйте опцию 'labelWidth' и/или' labelHeight' для оси x. – Raidri