gpt4 book ai didi

python - 绘制水位线降水图

转载 作者:太空宇宙 更新时间:2023-11-04 01:20:47 25 4
gpt4 key购买 nike

我有两个我想绘制的 numpy 数组:

runoff = np.array([1,4,5,6,7,8,9]) 
precipitation = np.array([4,5,6,7,3,3,7])

降水量数组应该从顶部开始作为条形。地 block 底部的径流线。两者在左侧和右侧都有不同的轴。很难描述那个情节,所以我只是添加了一个我用谷歌图片搜索发现的情节的链接。

Universtity of Jena, Hydrograph plot

我可以用 R 来做,但我想用 matplotlib 模块来学习它,现在我有点卡住了......

最佳答案

这是一个想法:

import matplotlib.pyplot as plt
import numpy as np

runoff = np.array([1,4,5,6,7,8,9])
precipitation = np.array([4,5,6,7,3,3,7])


fig, ax = plt.subplots()

# x axis to plot both runoff and precip. against
x = np.linspace(0, 10, len(runoff))

ax.plot(x, runoff, color="r")

# Create second axes, in order to get the bars from the top you can multiply
# by -1
ax2 = ax.twinx()
ax2.bar(x, -precipitation, 0.1)

# Now need to fix the axis labels
max_pre = max(precipitation)
y2_ticks = np.linspace(0, max_pre, max_pre+1)
y2_ticklabels = [str(i) for i in y2_ticks]
ax2.set_yticks(-1 * y2_ticks)
ax2.set_yticklabels(y2_ticklabels)

plt.show()

enter image description here

肯定有更好的方法可以做到这一点,从@Pierre_GM 的回答来看,似乎有一种现成的方法可能更好。

关于python - 绘制水位线降水图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21402999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com