通过折线图显示直辖市4个季度的出租情况。X轴为季度,由小到大依次显示Q1、Q2、Q3、Q4;Y轴展示直辖市每季度出租率,标签名称为城市名称,并显示图例;标题设置为“直辖市酒店季度出租率”。展示python代码
时间: 2024-10-13 13:14:32 浏览: 27
为了完成这个任务,你需要先准备一份数据,包含各直辖市每个季度的出租情况。假设数据已经存在一个名为`rental_data`的pandas DataFrame,其中列分别为'City'(城市名)和'Quarter_Rate'(出租率)。以下是Python代码的示例:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 假设这是你的数据
data = {'City': ['北京', '上海', '天津', '重庆'],
'Quarter_Rate': [0.85, 0.9, 0.8, 0.95],
'Quarter': ['Q1', 'Q1', 'Q1', 'Q1']} # 更改其他季度数据
df = pd.DataFrame(data)
# 将季度列转换为分类(quarter),因为matplotlib默认无法直接画四象限图
df['Quarter'] = pd.Categorical(df['Quarter'])
# 计算每季度出租率
quarter_rates = df.groupby('Quarter')['Quarter_Rate'].mean()
# 创建图形
plt.figure(figsize=(10,6))
for city, rate in quarter_rates.items():
plt.plot([i for i in range(1, 5)], rate.values, label=city)
plt.title('直辖市酒店季度出租率')
plt.xticks(range(1, 5), labels=['Q1', 'Q2', 'Q3', 'Q4'])
plt.yticks(np.arange(0.7, 1.1, 0.1)) # 设置Y轴刻度范围
plt.legend(title='城市名称', loc='upper right') # 图例
plt.xlabel('季度')
plt.ylabel('出租率')
plt.grid(True) # 添加网格线
plt.show()
```
这段代码首先将季度信息转换为分类以便matplotlib正确处理,然后计算每个季度的平均出租率。接着,它循环遍历每个城市和季度,绘制相应的折线。图例的位置设置在右上角,标题、坐标轴标签等都已添加。
阅读全文