plt.plot画矩形图
时间: 2023-10-13 20:04:24 浏览: 81
您可以使用matplotlib库中的plt.plot函数来画矩形图。但是需要注意的是,plt.plot函数主要用于绘制折线图,不太适合画矩形图。如果您想要画矩形图,推荐使用matplotlib库中的plt.bar函数或者plt.barh函数。
下面是使用plt.bar函数画矩形图的示例代码:
```python
import matplotlib.pyplot as plt
# 定义矩形的数据
x = ['A', 'B', 'C', 'D']
y = [10, 20, 15, 25]
# 使用plt.bar函数绘制矩形图
plt.bar(x, y)
# 设置横轴和纵轴标签
plt.xlabel('Category')
plt.ylabel('Value')
# 设置标题
plt.title('Rectangle Plot')
# 显示图形
plt.show()
```
这段代码会创建一个简单的矩形图,横轴为'A', 'B', 'C', 'D',纵轴为10, 20, 15, 25。您可以根据自己的需求修改数据和图形样式。
相关问题
plt.plot画一个矩形框
可以使用matplotlib库中的Rectangle类来画矩形框,具体代码如下:
```python
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
fig, ax = plt.subplots()
rect = Rectangle((0.2, 0.3), 0.4, 0.5, linewidth=1, edgecolor='r', facecolor='none')
ax.add_patch(rect)
plt.show()
```
其中,Rectangle类的第一个参数是矩形框的左下角坐标,第二个参数是矩形框的宽度和高度,linewidth参数控制边框线条宽度,edgecolor参数控制边框颜色,facecolor参数控制填充颜色。
def plot_rate( rate_his, rolling_intv = 50, ylabel='标准化计算速率',ax=None): import matplotlib.pyplot as plt import pandas as pd import matplotlib as mpl rate_array = np.asarray(rate_his) # 将一个 Python 列表 rate_his 转换为 NumPy 数组 rate_array df = pd.DataFrame(rate_his) # 创建了一个名为df的Pandas DataFrame对象,将rata_his数据进行索引拆分过滤排序 if ax is None: fig, ax = plt.subplots(figsize=(15, 8)) mpl.style.use('seaborn') #设置matplotlib 库的绘图风格为 seaborn 风格 fig, ax = plt.subplots(figsize=(15,8))# 使用 Matplotlib 库创建一个带有指定大小的子图对象,宽为15,高为8 plt.plot(np.arange(len(rate_array))+1, np.hstack(df.rolling(rolling_intv, min_periods=1).mean().values), 'b') #使用plt.plot函数将生成的x轴和y轴坐标绘制成折线图,并且'b' 表示蓝色的线条。 plt.fill_between(np.arange(len(rate_array))+1, np.hstack(df.rolling(rolling_intv, min_periods=1).min()[0].values), np.hstack(df.rolling(rolling_intv, min_periods=1).max()[0].values), color = 'b', alpha = 0.2) #将这两个曲线之间的区域填充成颜色为蓝色、透明度为0.2的矩形 plt.ylabel(ylabel)# 设置纵轴标签 plt.xlabel('Time Frames')#设置横轴标签 plt.show(), plot_rate(Q.sum(axis=1)/N, 100, 'Average Data Queue') plot_rate(energy.sum(axis=1)/N, 100, 'Average Energy Consumption'),将多个函数绘制于横坐标相同的,放在一张子图里
您的代码是用于绘制两个函数在同一个子图中的折线图,并使用了Pandas和Matplotlib库来实现。其中,通过np.hstack函数将Pandas DataFrame对象转换为NumPy数组,并使用rolling函数对数据进行滚动平均处理,以减少数据的噪声。使用fill_between函数将两个曲线之间的区域填充为一个矩形,以突出两条曲线之间的差异。最后,使用plt.ylabel和plt.xlabel函数设置纵轴和横轴的标签,并使用plt.show函数显示图形。
如果您想要将多个函数绘制于横坐标相同、纵坐标不同的多个子图中,可以使用Matplotlib库中的subplot函数来实现。subplot函数可以在一个大的图形中创建多个子图,并指定每个子图的位置和大小。例如:
```
import matplotlib.pyplot as plt
fig, axs = plt.subplots(2, 1, figsize=(15, 8)) #创建一个2行1列的子图,每个子图的大小为15*8
axs[0].plot(x, y1) #在第一个子图中绘制第一个函数
axs[0].set_ylabel('y1') #设置第一个子图的纵轴标签
axs[1].plot(x, y2) #在第二个子图中绘制第二个函数
axs[1].set_ylabel('y2') #设置第二个子图的纵轴标签
plt.xlabel('x') #设置横轴标签
plt.show() #显示子图
```
在这个例子中,我们使用subplot函数创建了一个2行1列的子图,每个子图的大小为15*8。然后我们在第一个子图中绘制了第一个函数y1,并设置了纵轴标签。接着,我们在第二个子图中绘制了第二个函数y2,并设置了纵轴标签。最后,我们使用plt.xlabel函数设置横轴标签,并使用plt.show函数显示子图。