matplotlib一次只绘制一个图

时间:2015-08-23 02:49:42

标签: python matplotlib

说我有2个数字可以在python程序中绘图。我运行代码:

python myprog.py

这两个数字一次显示一个:第二个数字直到第一个数字关闭才显示。有没有办法一次性绘制所有数字?示例代码如下所示。

import pylab as plt

x  = [1.0,2.0,3.0]
y1 = [1.0,2.0,3.0]
y2 = [3.0,2.0,1.0]

plt.figure(1)
plt.plot(x,y1,'b')
plt.show()

plt.figure(2)
plt.plot(x,y2,'r')
plt.show()

3 个答案:

答案 0 :(得分:1)

要绘制多个子图以显示多个图,这是我认为问题是要求而不是使用单个绘图命令绘制多行,请使用如下的子图:

import pylab as plt

x  = [1.0,2.0,3.0]
y1 = [1.0,2.0,3.0]
y2 = [3.0,2.0,1.0]

fig = plt.figure()
axes = fig.add_subplot(111)
axes.plot(x,y1,'b')

axes = fig.add_subplot(111)
axes.plot(x,y2,'r')
plt.show()

虽然绘制多个实例适用于该示例,但对于更复杂的图形,使用子图非常有用。

答案 1 :(得分:0)

您需要使用子图在同一图表上显示两个图形。

答案 2 :(得分:0)

来自official documentaion

  

matplotlib.pyplot.plot(* args,** kwargs)

     

将线和/或标记绘制到轴上。 args是一个可变长度   参数,允许多个x,y对具有可选格式   串

所以你可以这样做:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Modal Test</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
</head>
<body>
    <div class="modal fade" id="modal_1">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal"><span>&times;</span></button>
                    <h4 class="modal-title">Title1</h4>
                </div>
                <div class="modal-body">
                    <p>Body1</p>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                    <button type="button" class="btn btn-default" id="launchSecond">Second</button>
                </div>
            </div>
        </div>
    </div>
    <div class="modal fade" id="modal_2">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal"><span>&times;</span></button>
                    <h4 class="modal-title">Title2</h4>
                </div>
                <div class="modal-body">
                    <p>Body2</p>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                    <button type="button" class="btn btn-default" id="launchFirst">First</button>
                </div>
            </div>
        </div>
    </div>

    <div class="container">
        <div class="row">
            <div class="col-md-2 col-md-offset-5">
                <button type="button" class="btn btn-success" id="launchModalBtn">Launch Modal</button>
            </div>
        </div>
    </div>
</body>

    <!-- Latest compiled and minified JavaScript -->
    <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
    <script>
        $(document).on('click','#launchModalBtn',function () {
            $('#modal_1').modal();
        });

        $(document).on('click', '#launchSecond', function () {
            $('#modal_2').modal();
        })

        $(document).on('click', '#launchFirst', function () {
            $('#modal_1').modal();
        })

        $('.modal').on('show.bs.modal', function () {
            $('.modal').not($(this)).each(function () {
                $(this).modal('hide');
            });
        });
    </script>
</html>