plt.bar(z.index,z, width=0.1, color='blue')
时间: 2024-04-03 19:32:21 浏览: 14
这是一段 Python 代码,使用了 Matplotlib 库中的 bar 函数来绘制柱状图。具体来说,该代码中的 z 是一个 pandas.Series 对象,表示柱状图中每个柱子的高度。z.index 则表示每个柱子的标签,width=0.1 指定了柱子的宽度为 0.1,color='blue' 则指定了柱子的颜色为蓝色。
相关问题
N = 5 y = [20,10,30,25,15] z = [10,5,15,25,10] w = 0.2 index = np.arange(N) print(type(index)) p1 = plt.bar(x=index,height=y,color = 'red',width=0.2,label='data1') p2 = plt.bar(x=index+w,height=z,color = 'blue',width=0.2,label='data2') plt.legend() plt.show() print(type(index)) y_medal=y z_medal=z p3 = plt.bar(x=index,height=y,color = 'blue',width=0.2,label='data1') p4 = plt.bar(x=index,height=z,color = 'red',width=0.2,bottom=z_medal,label='data2') plt.legend() plt.show()
这段代码使用了Matplotlib库,绘制了两个柱状图。第一个柱状图使用了plt.bar()函数,其中x轴为index,y轴为y,颜色为红色,宽度为0.2,label为'data1';第二个柱状图使用了plt.bar()函数,其中x轴为index+w,y轴为z,颜色为蓝色,宽度为0.2,label为'data2'。通过legend()函数显示图例,并通过show()函数显示图形。
第二个柱状图与第一个柱状图不同的是,它使用了bottom参数设置了底部的高度,即将第二个柱状图放在第一个柱状图的上方,同时将颜色设置为红色,即将'data1'和'data2'的颜色进行了互换。最后,再次通过legend()函数显示图例,并通过show()函数显示图形。
import numpy as np import matplotlib.pyplot as plt plt.rcParams["font.sans-serif"] = ["SimHei"] plt.rcParams["axes.unicode_minus"] = False x = np.arange(3) y1 = np.array([61.8, 42.8, 48.0]) y2 = np.array([32.9, 12.5, 13.3]) bar_width = 0.3 plt.bar(x, y1, width=bar_width, alpha=0.8, color='skyblue', label='获得offer比例') plt.bar(x + bar_width, y2, width=bar_width, alpha=0.8, color='pink', label='签约比例') plt.title('不同院校求职毕业生获得offer与签约比例') plt.xlabel('学历') plt.ylabel('签约率') plt.xticks(x + bar_width/2, ['双一流院校', '普通本科院校', '专科院校']) plt.legend(loc='upper right') plt.show()给这个图片添加数据标签
可以使用 plt.text() 函数在每个柱状图上添加数据标签,代码如下:
```python
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
x = np.arange(3)
y1 = np.array([61.8, 42.8, 48.0])
y2 = np.array([32.9, 12.5, 13.3])
bar_width = 0.3
plt.bar(x, y1, width=bar_width, alpha=0.8, color='skyblue', label='获得offer比例')
plt.bar(x + bar_width, y2, width=bar_width, alpha=0.8, color='pink', label='签约比例')
plt.title('不同院校求职毕业生获得offer与签约比例')
plt.xlabel('学历')
plt.ylabel('签约率')
plt.xticks(x + bar_width/2, ['双一流院校', '普通本科院校', '专科院校'])
plt.legend(loc='upper right')
# 添加数据标签
for i, v in enumerate(y1):
plt.text(i - 0.1, v + 1, str(v) + '%', color='black', fontsize=12)
for i, v in enumerate(y2):
plt.text(i + bar_width - 0.1, v + 1, str(v) + '%', color='black', fontsize=12)
plt.show()
```
运行上述代码,就可以得到带有数据标签的柱状图了。