python代码横向柱形图如何将X轴与Y轴数值变为百分比
时间: 2024-11-27 08:22:29 浏览: 6
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
5星 · 资源好评率100%
在Python中,如果你想要创建一个横向柱状图,并将X轴和Y轴的数值转换为百分比,你可以使用`matplotlib`库中的`pyplot`模块,结合`xticks()`和`yticks()`函数进行设置。假设你已经有了数据和相应的柱状图,可以这样做:
```python
import matplotlib.pyplot as plt
# 假设data是一个包含列名和数据的DataFrame,例如:
data = {'Category': ['A', 'B', 'C', 'D'], 'Values': [40, 60, 30, 70]}
# 绘制柱状图
ax = data['Values'].plot(kind='barh', rot=0, figsize=(8, 5)) # 横向柱状图
ax.invert_yaxis() # 将Y轴从顶部到底部排列
# 计算百分比并显示在轴上
for i, v in enumerate(data['Values']):
ax.text(v + 0.5, i, f'{v:.1f}%', fontsize=10)
# 将X轴(分类)的刻度也改为百分比
def format_percentage(x, pos):
return '{:.1f}%'.format(x)
ax.xaxis.set_major_formatter(format_percentage)
# 设置X轴和Y轴的范围为0-100%
ax.set_xlim(0, 100)
ax.set_ylim(len(data['Category']) - 0.5, -0.5)
plt.show()
```
在这个例子中,我们首先创建了一个横向柱状图,然后计算出每个柱子的实际值相对于最大值的百分比,并将其显示在柱子上方。最后,我们对X轴进行了自定义格式化,使其返回百分比形式。
阅读全文