点划线在matplotlib

时间:2016-01-27 08:41:25

标签: python matplotlib plot subplot linestyle

有没有办法让matplotlib中的垂直点划线始终触及yaxis的顶部和底部?我正在绘制两条垂直线,它们之间有空格,我希望它们触及我的yaxis的顶部和底部。它们触及yaxis的底部,但如果我改变起始y值,它们将只触及我的绘图的yaxis的顶部,因此线条样式碰巧触顶。我也尝试过使用ax.vlines并获得相同的结果。

也许 - 为了做到这一点,有没有办法改变linestyle中点和短划线的间距?

plt.plot((55843.8747516981, 55843.8747516981), (yminPlot, 4.53), linewidth=2,
         linestyle='-.', color='r')
plt.plot((55843.8747516981, 55843.8747516981), (7.03, ymaxPlot), linewidth=2,
         linestyle='-.', color='r')

2 个答案:

答案 0 :(得分:2)

如果我理解你的问题,你可以通过改变第二行的绘制顺序来解决这个问题,从上到下绘制

plt.plot((55843.8747516981, 55843.8747516981), (yminPlot, 4.53), linewidth=2,
         linestyle='-.', color='r')
plt.plot((55843.8747516981, 55843.8747516981), (ymaxPlot, 7.03), linewidth=2,
         linestyle='-.', color='r')

答案 1 :(得分:1)

您可以使用坐标转换(transformations tutorial)。为了在某​​个x坐标处从底部到顶部绘制一条直线:

    <?php
    //this array indicates your row.
    $array = array(
        "date" => "1.1.2016",
        "users" => array(
                  "user" => "someUser",
                   "count" => 56
                  );    
    );
    ?>