colorbar和多个子图的问题

时间:2015-08-11 14:42:26

标签: python matplotlib colorbar

我试图将两个图像彼此相邻并用两个相应的颜色条绘制。 我的代码是

    $(function() {
      $('#submitTest').click(function(e){
        var form_test = $('#test_forma').serialize();
        e.preventDefault;

        jQuery.extend(jQuery.validator.messages, {
          required: "Odgovor je obavezan",
        });

        $( "#test_forma" ).validate({
          onsubmit: false,
          submitHandler: function(form) {
            form.preventDefault();
            // e.preventDefault();
            if(('#test_forma').valid()) {
              $.ajax({
                type: "POST",
                url: " <?php echo base_url().'home/test';?> ",
                data: {form_test:form_test},

                beforeSend: function() {
                  // setting a timeout
                  $('#g_upozorenje').html('<img src="<?php echo base_url().'images/loading.gif';?>"/>');
                },

                success: function(response) {
                  $.each(response.answers, function(i, item){
                    // if(('#test_odgovori_' + i).val()) == response[i].IdPitanja)
                    if(response.answers[i].provera ==1) {
                      $('#test_odgovori_'+response.answers[i].Id).css('color','green');
                    } else {
                      $('#test_odgovori_'+response.answers[i].Id ).css('color','green');
                      $('.test_odgovori_'+response.answers[i].IdPitanja+':checked').next().css('color','red');
                    }
                    $('#procenat').html('Odgovorili ste tačno na '+response.result + '% pitanja')
                    $('#rezultati').dialog();
                  });
                }
              });
            }
          }
        });
      });
    });

Python现在将颜色条附加到第二个子图并因此缩小它。但我希望两个地块的大小相同。 如何分离子图的颜色条?

enter image description here

1 个答案:

答案 0 :(得分:3)

您可以为颜色栏

创建单独的Axes实例
import matplotlib.pyplot as plt
import numpy as np

plt.figure(1)
# Create room on the right
plt.gcf().subplots_adjust(right=0.8)

plt.subplot (121)
plt.title('1')
plt.imshow(np.random.rand(10,10), interpolation='bilinear', cmap=plt.cm.jet)
plt.subplot(122)
plt.title('2')
plt.imshow(np.random.rand(10,10), interpolation='bilinear', cmap=plt.cm.jet)

# Make a new Axes instance
cbar_ax = plt.gcf().add_axes([0.85, 0.15, 0.05, 0.7])
plt.colorbar(cax=cbar_ax)

plt.show()

enter image description here

编辑:

您可以通过更改add_axes命令将颜色条的高度更改为更接近绘图的高度。这需要一个矩形作为参数[left, bottom, width, height],所以只需更改bottomheight以满足您的需求