Данные считываются как строки. В matplotlib 2.0 они автоматически преобразуются в числа с плавающей точкой, так что они могут быть построены.
В matplotlib 2.1 введены категориальные графики . Это теперь позволяет что-то вроде
plt.plot(["apple", "banana", "cherry"], [2,1,3])
. Хотя это, конечно, отлично подходит для определенных приложений, оно прерывает предыдущий вариант построения строк, которые можно преобразовать в float. Я думаю, что если это хорошо, это просто дает пользователю ответственность за само преобразование.
В этом случае вы хотели бы сделать это преобразование, например
values = [None if v is '' else float(v) for v in values]
Поскольку window
является глобальным объектом, вы можете вызвать alert
либо по его сокращению: alert( 'Hello!' );
, либо путем ссылки на глобальный объект: window.alert( 'Hello!' );
. Они одинаковы.
Они, как правило, одно и то же, но, если в вашей области видимости, см. пример, функция предупреждения получила переопределение, а затем alert и window.alert не будет той же самой функцией.
(function () {
function alert(test) {
document.write(test);
}
alert("hello page");
window.alert("hello world");
})()
Надеемся на пример будет проливать больше света на эту тему, чем мое объяснение.
Вы также можете скрыть имя функции переменной и получить ошибку при ее вызове.
(function () {
var alert;
alert("Why don't you work, silly function?");
})()