matplotlib绘制柱状图,要求有数据标签,有网格,
时间: 2023-05-16 15:05:01 浏览: 84
可以使用以下代码实现:
```python
import matplotlib.pyplot as plt
# 数据
x = [1, 2, 3, 4, 5]
y = [10, 8, 6, 4, 2]
# 绘制柱状图
plt.bar(x, y, tick_label=['A', 'B', 'C', 'D', 'E'])
# 添加数据标签
for a, b in zip(x, y):
plt.text(a, b, str(b), ha='center', va='bottom')
# 添加网格
plt.grid(axis='y')
# 显示图形
plt.show()
```
这段代码可以绘制出带有数据标签和网格的柱状图。
相关问题
matplotlib绘制精美柱状图并保存本地
要使用matplotlib绘制精美的柱状图并保存本地,可以按照以下步骤进行:
1. 导入matplotlib库和numpy库
```python
import matplotlib.pyplot as plt
import numpy as np
```
2. 创建数据
```python
x = np.array(['A', 'B', 'C', 'D'])
y = np.array([20, 35, 30, 25])
```
3. 绘制柱状图
```python
fig, ax = plt.subplots()
ax.bar(x, y, color='green')
ax.set_title('Bar Chart')
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
```
4. 调整样式
```python
# 设置边框颜色和粗细
for spine in ax.spines.values():
spine.set_edgecolor('#BBBBBB')
spine.set_linewidth(1)
# 设置x轴刻度标签旋转角度和字体大小
plt.xticks(rotation=0, fontsize=10)
# 设置y轴刻度标签字体大小
plt.yticks(fontsize=10)
# 设置标题字体大小
plt.title('Bar Chart', fontsize=12)
# 隐藏顶部和右侧边框
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
# 添加网格线
ax.grid(axis='y', linestyle='--')
```
5. 保存图像
```python
plt.savefig('bar_chart.png', dpi=300, bbox_inches='tight')
```
完整代码如下:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.array(['A', 'B', 'C', 'D'])
y = np.array([20, 35, 30, 25])
# 绘制柱状图
fig, ax = plt.subplots()
ax.bar(x, y, color='green')
ax.set_title('Bar Chart')
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
# 调整样式
for spine in ax.spines.values():
spine.set_edgecolor('#BBBBBB')
spine.set_linewidth(1)
plt.xticks(rotation=0, fontsize=10)
plt.yticks(fontsize=10)
plt.title('Bar Chart', fontsize=12)
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.grid(axis='y', linestyle='--')
# 保存图像
plt.savefig('bar_chart.png', dpi=300, bbox_inches='tight')
```
运行完毕后,会在当前路径下生成一个名为 `bar_chart.png` 的图像文件。
matplotlib柱状图
Matplotlib是一个Python库,用于绘制各种图表,包括柱状图。柱状图是一种重要的数据可视化图表,用于比较不同类别或组之间的数量或频率。
以下是使用Matplotlib绘制柱状图的步骤:
1. 导入Matplotlib库和NumPy库(如果需要)。
```
import matplotlib.pyplot as plt
import numpy as np
```
2. 创建数据。柱状图需要提供每个类别或组的数据,通常是一个列表或数组。
```
data = [10, 15, 20, 25, 30]
```
3. 创建x轴标签。x轴标签通常是类别或组的名称,可以是字符串或数字。
```
labels = ['A', 'B', 'C', 'D', 'E']
```
4. 绘制柱状图。使用Matplotlib的bar函数绘制柱状图,需要提供x轴标签和数据。
```
plt.bar(labels, data)
```
5. 自定义柱状图。可以添加标题、x轴标签、y轴标签、网格线等等。还可以调整柱状图的颜色、宽度、透明度等等。
```
plt.title('My Bar Chart')
plt.xlabel('Category')
plt.ylabel('Value')
plt.grid(axis='y', linestyle='--')
plt.bar(labels, data, color='green', width=0.5, alpha=0.7)
```
6. 显示柱状图。使用Matplotlib的show函数显示柱状图。
```
plt.show()
```
完整代码示例:
```
import matplotlib.pyplot as plt
import numpy as np
data = [10, 15, 20, 25, 30]
labels = ['A', 'B', 'C', 'D', 'E']
plt.title('My Bar Chart')
plt.xlabel('Category')
plt.ylabel('Value')
plt.grid(axis='y', linestyle='--')
plt.bar(labels, data, color='green', width=0.5, alpha=0.7)
plt.show()
```