Python 绘图:酒店数据可视化

本文将使用 Python 的 Matplotlib 库,根据酒店数据创建各种图表,包括子图、柱状图、饼图、直方图和散点图。

1. 创建子图:同时绘制 sin(x) 和 cos(x) 函数图像

import numpy as np
import matplotlib.pyplot as plt

# 创建画布和子图
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))

# 设置 x 轴范围和步长
x = np.arange(-np.pi, np.pi, 0.01)

# 画 sin(x) 的函数图像
ax1.plot(x, np.sin(x), linewidth=2.5)
ax1.set_xlabel('x')
ax1.set_ylabel('sin(x)')
ax1.set_title('Sin(x) Function')

# 画 cos(x) 的函数图像
ax2.plot(x, np.cos(x), linewidth=2.5)
ax2.set_xlabel('x')
ax2.set_ylabel('cos(x)')
ax2.set_title('Cos(x) Function')

# 显示图像
plt.show()

2. 柱状图:每个地区酒店数量

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据
data = pd.read_excel('a.xlsx')

# 统计每个地区的酒店数量
hotel_counts = data['地区'].value_counts()

# 创建画布和子图
fig, ax = plt.subplots(figsize=(10, 5))

# 画柱状图
ax.bar(hotel_counts.index, hotel_counts.values, color='red')

# 设置横轴标签旋转 90 度
plt.xticks(rotation=90)

# 显示柱子上方的数值
for x, y in zip(hotel_counts.index, hotel_counts.values):
    ax.text(x, y, str(y), ha='center', va='bottom')

# 设置标题、横轴标签、纵轴标签
ax.set_title('Hotel Counts by Region')
ax.set_xlabel('Region')
ax.set_ylabel('Counts')

# 显示图像
plt.show()

3. 柱状图:每个价格等级酒店数量

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据
data = pd.read_excel('a.xlsx')

# 统计每个价格等级的酒店数量
hotel_counts = data['价格等级'].value_counts()

# 创建画布和子图
fig, ax = plt.subplots(figsize=(10, 5))

# 画柱状图
ax.bar(hotel_counts.index, hotel_counts.values)

# 显示柱子上方的数值
for x, y in zip(hotel_counts.index, hotel_counts.values):
    ax.text(x, y, str(y), ha='center', va='bottom')

# 设置标题、横轴标签、纵轴标签
ax.set_title('Hotel Counts by Price Level')
ax.set_xlabel('Price Level')
ax.set_ylabel('Counts')

# 显示图像
plt.show()

4. 饼图:每个价格等级酒店占比

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据
data = pd.read_excel('a.xlsx')

# 统计每个价格等级的酒店数量
hotel_counts = data['价格等级'].value_counts()

# 计算每个价格等级的占比
hotel_percent = hotel_counts / hotel_counts.sum()

# 创建画布和子图
fig, ax = plt.subplots(figsize=(8, 8))

# 画饼图
ax.pie(hotel_counts.values, labels=hotel_counts.index, autopct='%1.1f%%')

# 设置标题和图例
ax.set_title('Hotel Proportion by Price Level')
ax.legend(hotel_counts.index)

# 显示图像
plt.show()

5. 直方图:酒店评分分布

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据
data = pd.read_excel('a.xlsx')

# 获取评分数据
scores = data['评分']

# 创建画布和子图
fig, ax = plt.subplots(figsize=(10, 5))

# 画直方图
ax.hist(scores, bins=6, range=(0, 5), alpha=0.8)

# 设置标题、横轴标签、纵轴标签
ax.set_title('Hotel Scores Distribution')
ax.set_xlabel('Scores')
ax.set_ylabel('Counts')

# 显示图像
plt.show()

6. 散点图:酒店评分与价格关系

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据
data = pd.read_excel('a.xlsx')

# 获取评分和价格数据
scores = data['评分']
prices = data['价格']

# 创建画布和子图
fig, ax = plt.subplots(figsize=(10, 5))

# 画散点图
ax.scatter(prices, scores, alpha=0.5)

# 设置标题、横轴标签、纵轴标签
ax.set_title('Hotel Scores vs Prices')
ax.set_xlabel('Prices')
ax.set_ylabel('Scores')

# 显示图像
plt.show()

总结

本文介绍了使用 Python 的 Matplotlib 库创建不同类型的图表,包括子图、柱状图、饼图、直方图和散点图,并以酒店数据为例进行演示。这些图表可以帮助我们更好地理解酒店数据,例如酒店数量分布、价格等级占比、评分分布和价格与评分关系等。

Python绘图:创建子图、柱状图、饼图、直方图和散点图

原文地址: https://www.cveoy.top/t/topic/ooZk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录