我无法弄清楚如何旋转X轴上的文本.它是一个时间戳,随着样本数量的增加,它们越来越近,直到它们重叠.我想将文本旋转90度,以便样本靠近在一起,它们不重叠.
下面是我的,它工作得很好,除了我无法弄清楚如何旋转X轴文本.
import sys
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import datetime
font = {'family' : 'normal',
'weight' : 'bold',
'size' : 8}
matplotlib.rc('font', **font)
values = open('stats.csv', 'r').readlines()
time = [datetime.datetime.fromtimestamp(float(i.split(',')[0].strip())) for i in values[1:]]
delay = [float(i.split(',')[1].strip()) for i in values[1:]]
plt.plot(time, delay)
plt.grid(b='on')
plt.savefig('test.png')
Run Code Online (Sandbox Code Playgroud) 如何将刻度标签移动几个像素?
就我而言,我想将X 轴上的This is class #N -labels 向右移动几个像素。
我知道的 horizontalalign/ha值right,center和left; 但我想“改善”right对齐的外观。
以下面的例子为例,它将产生如下图所示的图:
import pandas as pd
import numpy as np
categories = ['This is class #{}'.format(n) for n in range(10)]
data = {
'Value': [categories[np.random.randint(10)] for _ in range(100)],
'id': [1000+i for i in range(100)]
}
df = pd.DataFrame(data)
ax = df.Value.value_counts().sort_index().plot(kind='bar', rot=45)
plt.xticks(ha='right')
Run Code Online (Sandbox Code Playgroud)
结果是:

我主观上认为,如果将标签向右平移以便将勾号放在“#”上,情节会更好看。换句话说,是right和center对齐选项之间的“中间地带” 。
旁注:
我正在使用熊猫,但我相信这与问题无关,因为它无论如何都使用 matplotlib 进行绘图。
该 …