Seaborn绘图为x轴时间戳标签添加了额外的零

时间:2017-09-26 12:48:30

标签: python seaborn

我正在尝试使用seaborn将以下数据集绘制为barplot cum pointplot。

enter image description here

但是x轴标签中的时间戳在末尾显示了额外的零,如下所示

enter image description here

我使用的代码是

import matplotlib.pyplot as plt
import seaborn as sns
fig, ax1 = plt.subplots()
# Plot the barplot
sns.barplot(x='Date', y=y_value, hue='Sentiment', data=mergedData1, ax=ax1)
# Assign y axis label for bar plot
ax1.set_ylabel('No of Feeds')
# Position the legen on the right side outside the box
plt.legend(loc=2, bbox_to_anchor=(1.1, 1), ncol=1)
# Create a dual axis
ax2 = ax1.twinx()
# Plot the ponitplot
sns.pointplot(x='Date', y='meanTRP', data=mergedData1, ax=ax2, color='r')
# Assign y axis label for point plot
ax2.set_ylabel('TRP')
# Hide the grid for secondary axis
ax2.grid(False)
# Give a chart title
plt.title(source+' Social Media Feeds & TRP for the show '+show)
# Automatically align the x axis labels
fig.autofmt_xdate()
fig.tight_layout()

不确定出了什么问题。请帮我解决一下这个。感谢

2 个答案:

答案 0 :(得分:1)

最简单的解决方案是将文字拆分为字母" T"其余的可能不需要。

ax.set_xticklabels([t.get_text().split("T")[0] for t in ax.get_xticklabels()])

答案 1 :(得分:0)

使用此代码,您仍然可以更好地控制日期格式:

ax.set_xticklabels([pd.to_datetime(tm).strftime('%d-%m-%Y') for tm in ax.get_xticklabels()])