physically stretch plot in horizontal direction in python

為{幸葍}努か 提交于 2021-01-02 05:01:18

问题


I want a simple x,y plot created with matplotlib stretched physically in x-direction.
The intention is to get a result were it is easier for me to detect features in the signal.

So I don't want to change any scales or values or limits. Just change the distance between two gridpoint in my output file...

I want to do that on four subplots which should have the same size afterwards.

Thanks in advance... I tried for hours now and I think one of you could probably help me...

David Zwicker already solved my problem in this special case, thanks a lot for that, but in general... If I plot 2 subplots like in this code:

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()

and want to stretch only one of them. What can I do?


回答1:


You can directly add axes to the canvas at an arbitrary position with plt.axes(). For instance:

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

Arbitrary axes




回答2:


You can change the figure size by using plt.figure(figsize=(20,5)). See the documentation of the figure command.




回答3:


I know, this is a bit out of the context. But if someone is looking for a solution while using pandas plot which internally uses matplotlib. Here is the solution.

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



来源:https://stackoverflow.com/questions/20398920/physically-stretch-plot-in-horizontal-direction-in-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!