fig=plt.figure(figsize=(15,8)) for i,x in enumerate(y): ax=fig.add_subplot(3,1,i+1) ax.plot(a,x) plt.show()给每个图添加分别为季节、年际、年代际变化
时间: 2024-04-30 13:21:05 浏览: 54
可以在`ax`对象上使用`set_title()`方法添加子图的标题,如下所示:
```
fig = plt.figure(figsize=(15,8))
titles = ['季节变化', '年际变化', '年代际变化']
for i, x in enumerate(y):
ax = fig.add_subplot(3,1,i+1)
ax.plot(a, x)
ax.set_title(titles[i])
plt.show()
```
这样就会在每个子图上添加相应的标题。
相关问题
fig=plt.figure(figsize=(15,8)) for i,x in enumerate(y): ax=fig.add_subplot(3,1,i+1) ax.plot(a,x) plt.show()给每个图添加不同的文字标题
可以在每个子图的标题前加上 `ax.set_title()` 方法,例如:
```
fig = plt.figure(figsize=(15, 8))
for i, x in enumerate(y):
ax = fig.add_subplot(3, 1, i+1)
ax.plot(a, x)
ax.set_title('Plot ' + str(i+1))
plt.show()
```
这样就会给每个子图添加一个不同的标题,格式为 "Plot 1", "Plot 2", "Plot 3"。你可以根据需要自定义每个子图的标题。
types = df['type'].unique() labels = types.tolist() fig = plt.figure(figsize=(8, 6)) ax = plt.subplot(111) b_num = np.arange(0, 10.5, 0.5) for t in types: ax.hist(df.loc[df['type'] == t, 'rating'], bins=b_num, rwidth=0.9, alpha=0.6, label=t, ) ax.legend() ax.set_xlabel('rating') ax.set_ylabel(r'Count(rating)') plt.show()重叠绘制直方图,输出效果达到每个间距的值是累加后的值
要实现每个间距的值是累加后的值,可以在循环中统计各个type的直方图数据,并将数据进行累加。然后将累加后的数据绘制为堆积直方图,示例代码如下:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 生成数据
df = pd.DataFrame({
'type': ['A', 'B', 'A', 'C', 'B', 'C', 'A', 'B', 'C', 'A', 'B', 'C'],
'rating': [7.5, 8.2, 9.1, 6.7, 7.8, 8.5, 7.2, 8.9, 6.6, 8.3, 8.1, 7.4]
})
# 统计各个type的直方图数据,并将数据进行累加
types = df['type'].unique()
labels = types.tolist()
b_num = np.arange(0, 10.5, 0.5)
hist_data = []
for t in types:
hist, bins = np.histogram(df.loc[df['type'] == t, 'rating'], bins=b_num)
hist_data.append(hist)
hist_data = np.vstack(hist_data)
hist_data = np.cumsum(hist_data, axis=0)
# 绘制堆积直方图
fig = plt.figure(figsize=(8, 6))
ax = plt.subplot(111)
for i, t in enumerate(types):
ax.bar(b_num[:-1], hist_data[i], label=t, alpha=0.6)
ax.legend()
ax.set_xlabel('rating')
ax.set_ylabel(r'Count(rating)')
plt.show()
```
其中,`hist, bins = np.histogram(df.loc[df['type'] == t, 'rating'], bins=b_num)`用于统计各个type的直方图数据,`hist_data.append(hist)`将直方图数据进行累加,`hist_data = np.vstack(hist_data)`将数据转换为二维数组,`hist_data = np.cumsum(hist_data, axis=0)`将数据进行累加。最后使用`ax.bar(b_num[:-1], hist_data[i], label=t, alpha=0.6)`绘制堆积直方图。