  Readability criteria, such as distance or neighborhood preservation, are
often used to optimize node-link representations of graphs to enable the
comprehension of the underlying data. With few exceptions, graph drawing
algorithms typically optimize one such criterion, usually at the expense of
others. We propose a layout approach, Multicriteria Scalable Graph Drawing via
Stochastic Gradient Descent, $(SGD)^2$, that can handle multiple readability
criteria. $(SGD)^2$ can optimize any criterion that can be described by a
differentiable function. Our approach is flexible and can be used to optimize
several criteria that have already been considered earlier (e.g., obtaining
ideal edge lengths, stress, neighborhood preservation) as well as other
criteria which have not yet been explicitly optimized in such fashion (e.g.,
node resolution, angular resolution, aspect ratio). The approach is scalable
and can handle large graphs. A variation of the underlying approach can also be
used to optimize many desirable properties in planar graphs, while maintaining
planarity. Finally, we provide quantitative and qualitative evidence of the
effectiveness of $(SGD)^2$: we analyze the interactions between criteria,
measure the quality of layouts generated from $(SGD)^2$ as well as the runtime
behavior, and analyze the impact of sample sizes. The source code is available
on github and we also provide an interactive demo for small graphs.
