【问题标题】:physically stretch plot in horizontal direction in pythonpython中水平方向的物理拉伸图
【发布时间】:2013-12-05 11:34:58
【问题描述】:

我想要一个用 matplotlib 创建的简单 x,y 图,在 x 方向上物理拉伸。
目的是在我更容易检测信号中的特征的情况下获得结果。

所以我不想更改任何比例、值或限制。只需在我的输出文件中更改两个网格点之间的距离...

我想在之后应该具有相同大小的四个子图上执行此操作。

提前谢谢...我已经尝试了几个小时,我想你们中的一个人可能会帮助我...

David Zwicker 已经在这种特殊情况下解决了我的问题,非常感谢,但总的来说......如果我像这段代码一样绘制 2 个子图:

fig = plt.figure()

ax1 = fig.add_subplot(1,2,1)

plot(u_av,z)

ax2 = fig.add_subplot(1,2,2)

plot(pgrd_av,z)

clf()

并且只想拉伸其中一个。我能做什么?

【问题讨论】:

    标签: python matplotlib plot stretch


    【解决方案1】:

    您可以使用plt.figure(figsize=(20,5)) 更改图形大小。请参阅documentation of the figure command

    【讨论】:

    • 好的,这会改变我整个图的大小,但是如果我只想调整一个子图,我该怎么办? subplot 函数有类似的功能吗?
    • 你的问题不是很清楚。也许您可以发布一些示例代码和/或示例图像?这肯定会澄清你的要求。通常,您可以以任何您想要的方式放置轴。 axes_grid 助手在这里很有用,例如matplotlib.org/1.3.0/examples/axes_grid/…
    【解决方案2】:

    我知道,这有点脱离上下文。但是,如果有人在使用内部使用 matplotlib 的 pandas plot 时正在寻找解决方案。这是解决方案。

    df.plot('col_x', 'col_y', title='stretched_plot', figsize=(20, 1))
    

    【讨论】:

      【解决方案3】:

      您可以使用plt.axes() 直接将轴添加到画布的任意位置。例如:

      ax1 = plt.axes([0, 0, 3, 0.5])
      ax2 = plt.axes([0, 0.6, 1, 1])
      

      【讨论】:

      • 我确实有这个问题,但调用 plt.axes() 只会使我的 xlabel/ylabel/title 的位置变形。同时,x 轴和 y 轴都没有被拉伸。
      • ^ 与颜色条相同。如果除了斧头之外还有其他元素,这将不起作用。
      猜你喜欢
      • 2011-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-25
      • 1970-01-01
      相关资源
      最近更新 更多