"有两列数据分别名为Reading frequency(non)和Reading frequency(sci),请绘制一个直方图“的代码,数据集名为courses
时间: 2024-12-24 09:18:00 浏览: 0
当然可以,如果你的数据集`courses`是一个包含两列`Reading frequency(non)`和`Reading frequency(sci)`的数据框,并且你想通过matplotlib绘制这两个列的直方图,可以按照以下步骤编写Python代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 假设数据集已加载并存储在courses变量中
if 'courses' in globals() and isinstance(courses, pd.DataFrame):
if 'Reading frequency(non)' in courses.columns and 'Reading frequency(sci)' in courses.columns:
# 提取数据列并创建直方图
non_reading_freq = courses['Reading frequency(non)']
sci_reading_freq = courses['Reading frequency(sci)']
fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(10, 4))
# 绘制非科学读物频率直方图
ax1.hist(non_reading_freq, bins=range(min(non_reading_freq), max(non_reading_freq) + 1), alpha=0.5, label='非科学读物')
# 绘制科学读物频率直方图
ax2.hist(sci_reading_freq, bins=range(min(sci_reading_freq), max(sci_reading_freq) + 1), alpha=0.5, label='科学读物')
# 设置轴标签和标题
ax1.set_xlabel('非科学阅读频率')
ax1.set_ylabel('书籍数量')
ax1.set_title('非科学读物阅读频率直方图')
ax2.set_xlabel('科学阅读频率')
ax2.set_title('科学读物阅读频率直方图')
# 显示图例
ax1.legend()
ax2.legend()
plt.tight_layout() # 用于调整子图之间的间距
plt.show()
else:
print("数据集中缺少'Reading frequency(non)'或'Reading frequency(sci)'列。")
else:
print("请确保数据集'self.courses'已经准备就绪。")
阅读全文