作者: | 来源:互联网 | 2023-09-04 18:40
假设我有以下代码,它创建一个带有两个轴的matplotlib图形,其中第二个具有x轴标签作为日期:importpandasaspdimportnumpyasnpimportseab
假设我有以下代码,它创建一个带有两个轴的matplotlib图形,其中第二个具有x轴标签作为日期:
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import datetime as dt
x1 = np.arange(0,30)
x2 = pd.date_range('1/1/2016', periods=30, freq='D')
y1 = np.random.randn(30)
y2 = np.random.randn(30)
%matplotlib inline
fig, ax = plt.subplots(1,2, figsize=(18,5))
ax[0].scatter(x1,y1)
ax[1].scatter(x2,y2)
在ipython笔记本中显示它将在右侧显示图形的x轴标签,使其相互碰撞.我想旋转标签以提高可见度.所有文档和在线搜索似乎都建议使用以下两个选项之一(均在上一行之后):
#1
plt.setp(ax[1].xaxis.get_majorticklabels(),rotation=90,horizOntalalignment='right')
或#2
plt.xticks(rotation=90)
其中任何一个都可以工作,但也会打印一个标签列表(由于某些原因,第一个例子中的标签与第二个例子不同)
如何在不输出某些数组的情况下完成旋转/显示?
解决方法:
我能够使用这种方法.不确定它是否是最优雅的方式,但它可以在不输出数组的情况下工作
for tick in ax[1].get_xticklabels():
tick.set_rotation(90)