Для построения линейных графиков необходимо добавить маркеров на свой график (graph.bullet = "round";
или любой другой формы) или курсор на графике (chart.chartCursor = new AmCharts.ChartCursor();
), чтобы появлялись воздушные шары. Выберите метод, который лучше всего подходит для вашего варианта использования.
var chartData = getData();
// init wrapper
var chart = new AmCharts.AmSerialChart();
chart.dataProvider = chartData;
chart.categoryField = "date";
// config baloon
var balloon = chart.balloon;
balloon.adjustBorderColor = true;
balloon.color = "#000000";
balloon.cornerRadius = 5;
balloon.fillColor = "#FFFFFF";
var graph = new AmCharts.AmGraph();
graph.valueField = "value";
graph.balloonText = "[[category]]: [[value]]";
graph.type = "line";
graph.bullet = "round";
chart.addGraph(graph);
var categoryAxis = chart.categoryAxis;
categoryAxis.autoGridCount = false;
categoryAxis.parseDates = true;
categoryAxis.gridCount = chartData.length;
categoryAxis.gridPosition = "start";
var chartScrollbar = new AmCharts.ChartScrollbar();
chart.addChartScrollbar(chartScrollbar);
//chart.chartCursor = new AmCharts.ChartCursor(); //alternative solution for balloons
chart.write("graphMonitor");
function getData() {
var data = [];
var firstDate = new Date();
var newDate;
firstDate.setDate(firstDate.getDate() - 10);
for (var i = 0; i < 10; ++i) {
newDate = new Date(firstDate);
newDate.setDate(i);
data.push({
"date": newDate,
"value": Math.floor(Math.random() * 20 + 10)
});
}
return data;
}
>> text = "I love spaces"
=> "I love spaces"
>> text.gsub(/\s/, "-").gsub(/[^\W-]/, '').downcase
=> "--"
Пропавшие без вести//
Хотя это имеет немного больше смысла :-)
>> text.gsub(/\s/, "-").gsub(/([^\W-])/, '\1').downcase
=> "i-love-spaces"
И это, вероятно, что предназначено
>> text.gsub(/\s/, "-").gsub(/[^\w-]/, '').downcase
=> "i-love-spaces"
\W означает "не, слово" \w означает "слово"
//генерируют объект RegExp
/ [^\\W-]/.class => Regexp
Шаг 1: Добавьте это к своим закладкам. Каждый раз, когда я должен искать regexes, это - моя первая остановка
Шаг 2: Давайте идти через Ваш код
text.gsub(/\s/, "-")
Вы звоните gsub
функция и предоставление его 2 параметра.
Первый параметр /\s/
, который является рубиновым для, "создают новый regexp, содержащий \s
(//похожи особенный "" для regexes).
Второй параметр является строкой "-"
.
Это поэтому заменит все пробельные символы дефисами.Пока все хорошо.
.gsub([^\W-], '').downcase
Затем Вы называете gsub снова, передавая его 2 параметра. Первый параметр [^\W-]
. Поскольку мы не заключили его в кавычки в наклонных чертах вправо, рубин буквально попробует выполненный тот код. []
создает массив, затем он пытается поместить ^\W-
в массив, который не является действительным кодом, таким образом, он повреждается.
Изменение его к /[^\W-]/
дает нам допустимый regex.
Смотря на regex, []
говорит, 'соответствуют любому символу в этой группе. Группа содержит \W
(что означает несловесный символ), и -
, таким образом, regex должен соответствовать любому несловесному символу или любому дефису.
Поскольку второй вещью, которую Вы передаете gsub, является пустая строка, это должно закончить тем, что заменило все несловесные символы и дефисы с пустой строкой (таким образом, разделяющий их)
.downcase
Который просто преобразовывает строку в нижний регистр.
Надежда это помогает :-)
Ну, .gsub (/[^\\W-] /'', поскольку) говорит, заменяют что-либо, что это - не слово, ни - ни для чего.
Вы, вероятно, хотите
>> text.gsub(/\s/, "-").gsub(/[^\w-]/, '').downcase
=> "i-love-spaces"
Нижний регистр \w (\W совсем противоположное),
Наклонные черты должны сказать, что вещью между ними является регулярное выражение, во многом как кавычки говорят, что вещью между ними является строка.