gpt4 book ai didi

python - 在python中绘制具有不同背景颜色的曲线

转载 作者:行者123 更新时间:2023-11-28 18:35:39 26 4
gpt4 key购买 nike

我正在尝试在读取数据文件后绘制曲线。曲线上方和曲线下方的背景应该不同(例如,红色和绿色)。这就像一个相图,显示了边界线上方和下方的两个不同阶段。是否可以在 python 中使用 matplotlib?我的代码是

#!/usr/bin/env python

import numpy as np
import pylab as pl
import matplotlib.pyplot as plt

# Use numpy to load the data contained in the file
# 'data.txt' into a 2-D array called data
data = np.loadtxt('data.txt')
# plot the first column as x, and second column as y
x=data[:,0]
y=data[:,1]
pl.plot(x,y, '-r')
pl.xlabel('x')
pl.ylabel('y')
pl.show()

“data.txt”文件包含:

0 0
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81

所以它应该绘制一条抛物线。

可能存在重复 here .但是,这似乎对我不起作用。

我还想在不同颜色的补丁中间输入文本。

所以我的情节应该是这样的:

enter image description here

最佳答案

是的,这可以使用 matplotlib 的 fill_between。您可以简单地使用 plt.fill_between(x,y,color="whatever") 填充该行下方。为了更完整,您可以使用 plt.fill_between(x,0,y,color="whatever")

设置填充的下限

要填充曲线上方的整个区域,您可以使用 plt.fill_between(x,y,plt.ylim()[1],color="whatever")

下面是一些用于填充曲线上方和下方的演示代码:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,9,10)
y = x ** 2
plt.plot(x,y,"b-")
plt.fill_between(x,y,color="red")
maxy = plt.ylim()[1]
plt.fill_between(x,y,maxy,color="green")
plt.show()

您可以根据需要设置 x 和 y。

希望这对您有所帮助!

编辑:您可以使用 matplotlib 的文本添加文本。您需要指定坐标,但您可以执行类似

xtextplace = x[7]
ytextplace = y[7] / 2
plt.text(xtextplace,ytextplace,"Some Text")

我会做类似的事情:

xcoord = x[int((x.size/3)*2)]
ycoord = y[int((x.size/3)*2)] / 2
plt.text(xcoord,ycoord,"Text")

这将使文本出现在 x 轴方向的 2/3 处和曲线下方 1/2 处。

关于python - 在python中绘制具有不同背景颜色的曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32669951/

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