我想在matplotlib中制作一个图形,在其中可以更改旋转的y轴标签的对齐方式。
这是我编写的一些示例代码。理想情况下,“这是一个示例情节”将是合理的。
fig = plt.figure(figsize=(13, 10))
ax1 = fig.add_subplot(111)
sns.lineplot(
x='x',
y='y',
data=pd.DataFrame([{'x': 0, 'y': 0}, {'x': 1, 'y': 1}]),
ax=ax1
)
ax1.set_ylabel('This is an\nexample plot', rotation=0)
ax1.yaxis.set_label_coords(0.05, 0.95)
答案 0 :(得分:0)
我不会以这种方式操作ylabel。而是在您想要的位置放一些文本。
import matplotlib.pyplot as plt
from matplotlib.offsetbox import AnchoredText
import pandas as pd
fig, ax = plt.subplots()
ax.plot("x", "y", "-", data=pd.DataFrame([{'x': 0, 'y': 0}, {'x': 1, 'y': 1}]))
ax.add_artist(AnchoredText('This is an\nexample plot', "upper left", frameon=False))
plt.show()
答案 1 :(得分:0)
Matplotlib文本命令(例如用于标签和注释的文本命令)支持许多关键字参数,这些参数会影响对齐方式,方向,间距,字体等。完整的list of text properties可以在文档中找到。在上面的示例中
ax1.set_ylabel('This is an\nexample plot', rotation=0, horizontalalignment='left')
可以解决问题。 (如另一个答案中所述,这是y轴标签的滥用,因此不建议这样做。)