Следующее создает график с тремя точками данных, в (0, 0), (0, 0.5) и (1, 1).Видна только та часть нанесенных точек (маленьких кружков), которые лежат внутри области графика, поэтому я вижу четверть кругов в углах и полукруг вдоль левого корешка.
Есть ли уловка Iможно использовать, чтобы сделать все точки полностью видимыми, чтобы они не были обрезаны в кадре осей?
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
fig = Figure()
canvas = FigureCanvas(fig)
ax = fig.add_subplot(111)
ax.plot([0, 0, 1], [0, 0.5, 1], 'o')
fig.canvas.print_figure('test.png')
Редактировать: Предложение Амро - очевидный подход - не является предпочтительнымподход, как это для ROC-графиков (условно рисуется с прямоугольником от 0 до 1 на обеих осях).Если бы я мог обмануть matplotlib, чтобы получить результаты, подобные многим в http://www.google.com/search?q=roc+plot, которые имеют прямоугольник около 0..1 по обеим осям, но имеют точки, нарисованные поверх линий осей, как это делают многие из них, этобыло бы оптимальным.
Редактировать 2: Я предполагаю, что это можно сделать, используя " размещение позвоночника " (новое по состоянию на 0,99 MPL), с площадью участканемного увеличенный, как предложил Амро, но затем с шипами немного переместившимися вдоль обеих нулевых осей.Я поэкспериментирую с этим и опубликую ответ, если он сработает, хотя не стесняйтесь побить меня этим.