Python matplotlib 2.2.2- сортировать значения оси y? [Дубликат]

== проверяет ссылки на объекты, .equals() проверяет строковые значения.

Иногда кажется, что == сравнивает значения, потому что Java делает некоторые закулисные вещи, чтобы убедиться, что одинаковые строки в строке являются одним и тем же объектом.

Для Например:

String fooString1 = new String("foo");
String fooString2 = new String("foo");

// Evaluates to false
fooString1 == fooString2;

// Evaluates to true
fooString1.equals(fooString2);

// Evaluates to true, because Java uses the same object
"bar" == "bar";

Но будьте осторожны с нулями!

== обрабатывает строки null в порядке, но вызов .equals() из пустой строки приведет к исключению:

String nullString1 = null;
String nullString2 = null;

// Evaluates to true
System.out.print(nullString1 == nullString2);

// Throws a NullPointerException
System.out.print(nullString1.equals(nullString2));

Итак, если вы знаете, что fooString1 может но не менее очевидно, что он проверяет значение null (из Java 7):

System.out.print(Objects.equals(fooString1, "bar"));
4
задан Matthijs Kramer 7 November 2017 в 11:27
поделиться

1 ответ

Данные считываются как строки. В 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]
8
ответ дан Mr. T 17 August 2018 в 12:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: