python 横坐标是样本数 纵坐标是类别
时间: 2023-08-10 09:13:41 浏览: 33
如果你想要绘制一个图表来表示样本数和类别之间的关系,可以使用条形图(bar chart)或堆积条形图(stacked bar chart)。
在 Python 中,你可以使用 matplotlib 库来绘制这些图表。以下是一个简单的示例代码:
```python
import matplotlib.pyplot as plt
# 假设有三个类别,每个类别对应的样本数分别是 10、20、30
categories = ['Category 1', 'Category 2', 'Category 3']
sample_sizes = [10, 20, 30]
# 绘制条形图
plt.bar(categories, sample_sizes)
# 设置图表标题和横纵坐标标签
plt.title('Sample Sizes by Category')
plt.xlabel('Category')
plt.ylabel('Sample Size')
# 显示图表
plt.show()
```
如果你想要绘制堆积条形图,可以使用 `plt.bar()` 函数的 `bottom` 参数来实现。以下是一个示例代码:
```python
import matplotlib.pyplot as plt
# 假设有三个类别,每个类别对应的样本数和子类别对应的样本数如下:
# Category 1: Subcategory 1 - 10, Subcategory 2 - 20, Subcategory 3 - 30
# Category 2: Subcategory 1 - 5, Subcategory 2 - 15, Subcategory 3 - 25
# Category 3: Subcategory 1 - 15, Subcategory 2 - 25, Subcategory 3 - 35
categories = ['Category 1', 'Category 2', 'Category 3']
subcategories = ['Subcategory 1', 'Subcategory 2', 'Subcategory 3']
sample_sizes = [
[10, 20, 30],
[5, 15, 25],
[15, 25, 35]
]
# 绘制堆积条形图
plt.bar(categories, sample_sizes[0])
plt.bar(categories, sample_sizes[1], bottom=sample_sizes[0])
plt.bar(categories, sample_sizes[2], bottom=[sum(x) for x in zip(sample_sizes[0], sample_sizes[1])])
# 设置图表标题和横纵坐标标签
plt.title('Sample Sizes by Category and Subcategory')
plt.xlabel('Category')
plt.ylabel('Sample Size')
# 设置图例
plt.legend(subcategories)
# 显示图表
plt.show()
```
这将绘制一个堆积条形图,其中每个类别由三个子类别组成,每个子类别的高度表示对应的样本数。