同时画多个条形图
时间: 2023-09-02 09:12:35 浏览: 39
要同时画多个条形图,可以使用Matplotlib的子图功能。下面是一个示例代码,可以画出两个条形图:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成数据
data1 = np.random.randint(10, size=5)
data2 = np.random.randint(10, size=5)
# 创建子图
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(8,4))
# 绘制第一个条形图
ax1.bar(range(len(data1)), data1)
ax1.set_title('Bar Chart 1')
# 绘制第二个条形图
ax2.bar(range(len(data2)), data2)
ax2.set_title('Bar Chart 2')
# 显示图形
plt.show()
```
在这个示例中,我们使用了`subplots`函数创建了一个一行两列的图形,并将两个子图存储在`ax1`和`ax2`中。然后,我们分别在两个子图中绘制了不同的条形图,并使用`set_title`方法设置了子图的标题。最后,我们调用`show`函数显示整个图形。
相关问题
python画多条形图
要使用Python绘制多条形图,你可以使用matplotlib库。下面是一个简单的示例代码,演示如何绘制多条形图:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义数据
categories = ['A', 'B', 'C', 'D'] # 类别
values1 = [4, 7, 2, 9] # 数据1
values2 = [5, 3, 8, 6] # 数据2
values3 = [2, 6, 4, 7] # 数据3
# 设置条形图的位置和宽度
bar_width = 0.25
bar_positions1 = np.arange(len(categories))
bar_positions2 = bar_positions1 + bar_width
bar_positions3 = bar_positions2 + bar_width
# 绘制条形图
plt.bar(bar_positions1, values1, width=bar_width, label='Data 1')
plt.bar(bar_positions2, values2, width=bar_width, label='Data 2')
plt.bar(bar_positions3, values3, width=bar_width, label='Data 3')
# 添加标签和标题
plt.xlabel('Categories')
plt.ylabel('Values')
plt.title('Multiple Bar Chart')
# 设置x轴刻度标签
plt.xticks(bar_positions2, categories)
# 显示图例
plt.legend()
# 显示图形
plt.show()
```
以上代码将绘制一个有三组数据的多条形图,其中每组数据都有四个类别。你可以根据需要修改类别和数据的值来创建自己的多条形图。
python画多条形图 SCI风格
要使用Python绘制多条形图(SCI风格),可以使用matplotlib库。以下是一个简单的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
# 数据
categories = ['A', 'B', 'C', 'D', 'E']
values1 = [4, 2, 7, 5, 9]
values2 = [6, 3, 5, 8, 12]
values3 = [3, 1, 6, 4, 10]
# 设置SCI风格
plt.rcParams['axes.formatter.useoffset'] = True
plt.rcParams['axes.formatter.offset_threshold'] = 1e3
# 绘图
x = np.arange(len(categories))
width = 0.2
plt.bar(x-width, values1, width, label='Value 1')
plt.bar(x, values2, width, label='Value 2')
plt.bar(x+width, values3, width, label='Value 3')
plt.xlabel('Categories')
plt.ylabel('Values')
plt.title('Multiple Bar Chart (SCI Style)')
plt.xticks(x, categories)
plt.legend()
plt.show()
```
这段代码将会生成一个包含多个条形图的SCI风格的图表,其中每个条形图由不同的数据系列填充。你可以根据自己的需要调整数据和图表设置。