Python绘图:创建子图、柱状图、饼图、直方图和散点图
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 库创建不同类型的图表,包括子图、柱状图、饼图、直方图和散点图,并以酒店数据为例进行演示。这些图表可以帮助我们更好地理解酒店数据,例如酒店数量分布、价格等级占比、评分分布和价格与评分关系等。
原文地址: https://www.cveoy.top/t/topic/ooZk 著作权归作者所有。请勿转载和采集!