怎么输出两个并列的柱状图 采用for的方法 python
时间: 2024-09-28 18:04:53 浏览: 17
在Python中,你可以使用matplotlib库来创建并列的柱状图。特别是`plt.bar()`函数非常适合这个任务。假设你有两个数据列表,每个列表对应一组数据点,你可以这样做:
```python
import matplotlib.pyplot as plt
# 假设你有两组数据,例如年龄和对应的数量
age_data = [18, 20, 22, 25, 30]
quantity_data1 = [10, 15, 20, 17, 25] # 第一个柱状图的数据
quantity_data2 = [8, 12, 16, 19, 24] # 第二个柱状图的数据
# 创建一个新的图形
fig, ax = plt.subplots()
# 对于第一个柱状图
ax.bar(age_data, quantity_data1, label='Group 1', color='blue')
# 对于第二个柱状图
ax.bar(age_data, quantity_data2, bottom=quantity_data1, label='Group 2', color='red') # 底部参数用于设置第一个柱状图下方的位置
# 添加标题、标签和图例
ax.set_title('Age Distribution by Group')
ax.set_xlabel('Age')
ax.set_ylabel('Quantity')
ax.legend()
# 显示图形
plt.show()
相关问题
python并列柱状图
要绘制并列柱状图,您可以使用Matplotlib库中的bar函数。以下是一个示例代码,用于绘制两个并列柱状图:
``` python
import numpy as np
import matplotlib.pyplot as plt
# 设置数据
labels = ['A', 'B', 'C', 'D', 'E']
data1 = [20, 34, 30, 35, 27]
data2 = [25, 32, 34, 20, 25]
# 设置图形大小
fig, ax = plt.subplots(figsize=(8, 6))
# 设置每个柱子的宽度
width = 0.35
# 绘制第一个柱状图
x = np.arange(len(labels))
rects1 = ax.bar(x - width/2, data1, width, label='Data 1')
# 绘制第二个柱状图
rects2 = ax.bar(x + width/2, data2, width, label='Data 2')
# 添加标签、标题和图例
ax.set_ylabel('Value')
ax.set_xlabel('Label')
ax.set_title('Grouped Bar Chart')
ax.set_xticks(x)
ax.set_xticklabels(labels)
ax.legend()
plt.show()
```
在这个例子中,我们使用了numpy库生成了一个数字序列x,然后用这个序列创建了两个并列柱状图。我们还设置了每个柱子的宽度,并且添加了标签、标题和图例。最后,我们使用Matplotlib的show()函数显示图形。
在jupyter notebook上用pyecharts生成一个并列柱状图
好的,以下是在 Jupyter Notebook 上使用 Pyecharts 生成一个并列柱状图的示例代码:
``` python
from pyecharts.charts import Bar
from pyecharts import options as opts
# 声明数据
x_data = ['A', 'B', 'C', 'D', 'E']
y1_data = [10, 20, 30, 40, 50]
y2_data = [20, 30, 40, 50, 60]
# 创建 Bar 实例
bar = Bar()
# 添加数据
bar.add_xaxis(x_data)
bar.add_yaxis('Series A', y1_data)
bar.add_yaxis('Series B', y2_data)
# 配置图表
bar.set_global_opts(
title_opts=opts.TitleOpts(title='并列柱状图示例'),
legend_opts=opts.LegendOpts()
)
# 渲染图表
bar.render_notebook()
```
这段代码会生成一个包含两个并列柱状图的图表,其中 x 轴为 ['A', 'B', 'C', 'D', 'E'],y1 轴为 [10, 20, 30, 40, 50],y2 轴为 [20, 30, 40, 50, 60]。你可以根据需要自己修改 x_data、y1_data 和 y2_data 的值。