Как мне сказать matplotlib, что я закончил с сюжетом?

Вот реализация для тех, кто может захотеть что-то более общее, которое будет работать с любым количеством полей.

Array.prototype.sortBy = function (propertyName, sortDirection) {

    var sortArguments = arguments;
    this.sort(function (objA, objB) {

        var result = 0;
        for (var argIndex = 0; argIndex < sortArguments.length && result === 0; argIndex += 2) {

            var propertyName = sortArguments[argIndex];
            result = (objA[propertyName] < objB[propertyName]) ? -1 : (objA[propertyName] > objB[propertyName]) ? 1 : 0;

            //Reverse if sort order is false (DESC)
            result *= !sortArguments[argIndex + 1] ? 1 : -1;
        }
        return result;
    });

}

В принципе, вы можете указать любое количество свойств / направление сортировки:

var arr = [{
  LastName: "Doe",
  FirstName: "John",
  Age: 28
}, {
  LastName: "Doe",
  FirstName: "Jane",
  Age: 28
}, {
  LastName: "Foo",
  FirstName: "John",
  Age: 30
}];

arr.sortBy("LastName", true, "FirstName", true, "Age", false);
//Will return Jane Doe / John Doe / John Foo

arr.sortBy("Age", false, "LastName", true, "FirstName", false);
//Will return John Foo / John Doe / Jane Doe
142
задан Peter Mortensen 19 March 2014 в 03:03
поделиться

3 ответа

Вы можете использовать рисунок , например, для создания нового графика, или использовать закрыть после первого сюжета.

114
ответ дан 23 November 2019 в 22:25
поделиться

Существует команда четкой фигуры, и она должна выполнить ее для вас:

plt.clf()

Если у вас есть несколько вспомогательных участков на одной фигуре,

plt.cla()

очищает текущие оси.

158
ответ дан 23 November 2019 в 22:25
поделиться

Как сказано у Дэвида Курнапо, используйте figure ().

import matplotlib
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab

plt.figure()
x = [1,10]
y = [30, 1000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("first.ps")


plt.figure()
x = [10,100]
y = [10, 10000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("second.ps")

Или подзаговор (121) / подзаговор (122) для одного и того же сюжета, другое положение.

import matplotlib
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab

plt.subplot(121)
x = [1,10]
y = [30, 1000]
plt.loglog(x, y, basex=10, basey=10, ls="-")

plt.subplot(122)
x = [10,100]
y = [10, 10000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("second.ps")
28
ответ дан 23 November 2019 в 22:25
поделиться
Другие вопросы по тегам:

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