今天我们看看绘图中,常用的一种柱状图内不同线型的填充实现。
使用Python绘图神器matplotlib
,实现下面的显示图:
下面说下绘图步骤:
pythonCopy code
import matplotlib.pyplot as plt
import numpy as np
matplotlib.pyplot
是一个非常流行的可视化库,用于创建图表和图形。在这里,我们导入它来绘制柱状图。numpy
是Python中用于科学计算的基础库。这里我们用它来创建和操作数组,特别是计算柱状图的位置。categories = ['A', 'B', 'C', 'D']
values1 = [10, 20, 15, 30]
values2 = [15, 10, 20, 25]
categories
包含了柱状图的分类标签。values1
和 values2
包含了两个系列在每个分类下的值。这些值将决定柱状图的高度。pythonCopy code
bar_width = 0.35 # 柱状图的宽度
index = np.arange(len(categories)) # 柱状图的索引
bar_width
定义了柱状图的宽度。这对于并排显示柱状图是必要的,以确保它们不会重叠。index
用于计算每个柱状图的位置。np.arange(len(categories))
生成一个与分类标签数量相等的整数序列,用作柱状图的x轴位置。pythonCopy code
fig, ax = plt.subplots()
bars1 = ax.bar(index - bar_width/2, values1, bar_width, color='lightblue', edgecolor='black', label='Series 1', hatch='/')
bars2 = ax.bar(index + bar_width/2, values2, bar_width, color='lightgreen', edgecolor='black', label='Series 2', hatch='\\')
plt.subplots()
创建了一个图形和一个轴对象。这提供了一个绘图的画布。ax.bar
用于绘制柱状图。为了并排显示两组数据,一组柱子位于中心线的左侧 (index - bar_width/2
),另一组位于右侧 (index + bar_width/2
)。color
) 和边框颜色 (edgecolor
) 来区分。此外,通过使用不同的hatch
图案,增加了柱状图的视觉区分度。ax.set_xticks(index)
ax.set_xticklabels(categories)
plt.legend()
set_xticks
和 set_xticklabels
方法用于设置x轴的刻度位置和标签,以对应于我们的分类标签。plt.legend()
显示图例,让观众知道每种颜色和图案代表的数据系列。pythonCopy code
plt.show()
plt.show()
用于显示最终的图表。如果你在Jupyter笔记本中运行这段代码,图表将直接在笔记本中渲染。以下是一些基本的hatch
图案样式,可以在调用绘制柱状图的函数时(如plt.bar
)使用:
/
:斜线\\
:反斜线|
:垂直线-
:水平线+
:加号x
:x形o
:圆圈O
:大圆圈.
:点*
:星号使用 |
和 -
使用 +
和 x
使用o
和O
使用.
和*
以上使用Matplotlib
绘制柱状图内不同线型的填充的实现代码。