python 柱状图如何设置横坐标

python 柱状图如何设置横坐标

作者:William Gu发布时间:2026-01-14阅读时长:0 分钟阅读次数:17

用户关注问题

Q
如何在Python绘制的柱状图中自定义横坐标标签?

我在用Python的Matplotlib绘制柱状图,想要设置每个柱子的横坐标标签为自定义的文字,应该怎么操作?

A

使用Matplotlib的xticks函数设置横坐标标签

在Matplotlib中绘制柱状图后,可以用plt.xticks()函数来设置横坐标标签。例如,可以通过传入刻度位置数组和对应标签数组,来替换默认的数字刻度,代码示例:

import matplotlib.pyplot as plt

values = [10, 20, 15]
labels = ['A', 'B', 'C']

plt.bar(range(len(values)), values)
plt.xticks(range(len(values)), labels)
plt.show()
Q
如何控制Python柱状图横坐标标签的显示角度和字体大小?

我的横坐标标签文字较长,导致显示不清楚,想调整标签的旋转角度和字体大小,需要用什么方法?

A

利用Matplotlib的xticks参数调整标签角度和字体属性

使用plt.xticks()的时候,可以通过rotation和fontsize参数调整标签的显示效果。例如,可以这样写:

plt.xticks(range(len(labels)), labels, rotation=45, fontsize=12)

这样标签会旋转45度,更容易阅读,同时字体大小设置为12号。

Q
怎样在Python的柱状图中设置横坐标为日期或时间?

我有一组时间序列数据,需要将横坐标设置为日期格式,该如何处理才能让横坐标显示正确的日期?

A

使用pandas和Matplotlib结合设置日期型横坐标

可以先使用pandas处理时间序列数据,并将时间字段转换成可绘制的格式。Matplotlib支持日期格式的横坐标,可以用plt.gca().xaxis.set_major_formatter()来设置日期显示格式。例如:

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

dates = pd.date_range('2024-01-01', periods=5)
values = [10, 20, 15, 18, 22]

plt.bar(dates, values)
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
plt.gcf().autofmt_xdate()  # 自动倾斜日期标签
plt.show()