Python 修复Matplotlib图形上X轴值的重叠

Python 修复Matplotlib图形上X轴值的重叠,python,pandas,matplotlib,graph,statistics,Python,Pandas,Matplotlib,Graph,Statistics,我需要一些关于Matplotlib图的帮助。可以查看项目(当前在新的图形分支下工作) 作为本项目工作的总结: 下载两个CSV文件(英国新冠病毒-19病例和英国新冠病毒-19死亡) 将CSV文件解析为一个数据框,以便只包含带有日期和累积值的列 使用Matplotlib条形图在一个图形上绘制这两组数据 我的问题是Matplotlib不会自动隔开X轴值(日期)。我不确定这是否是因为Matplotlib无法将它们识别为日期或我犯的其他错误。 编辑: 对不起,我忘了在问题中添加代码。这是 impor

我需要一些关于Matplotlib图的帮助。可以查看项目(当前在新的图形分支下工作)

作为本项目工作的总结:

  • 下载两个CSV文件(英国新冠病毒-19病例和英国新冠病毒-19死亡)
  • 将CSV文件解析为一个数据框,以便只包含带有日期和累积值的列
  • 使用Matplotlib条形图在一个图形上绘制这两组数据
我的问题是Matplotlib不会自动隔开X轴值(日期)。我不确定这是否是因为Matplotlib无法将它们识别为日期或我犯的其他错误。

编辑: 对不起,我忘了在问题中添加代码。这是

import matplotlib.pyplot as plt

def plot(cases,deaths):
    #cases.plot(x='Specimen date',y='Cumulative lab-confirmed cases',color='green')
    #deaths.plot(x='Reporting date',y='Cumulative deaths',color='red')
    plt.figure("Cumulative deaths and cases")
    ax = plt.gca()
    cases.plot(kind='bar', x='Specimen date', y='Cumulative lab-confirmed cases',ax=ax, color='green')
    deaths.plot(kind='bar', x='Reporting date', y='Cumulative deaths', ax=ax, color='red')
    plt.show()

您可能希望使用以下函数使XTICK变小:
plt.xticks(fontsize=所需大小)

问题在于,对于绘图的大小,您有太多的勾号标签

我建议间隔刻度,这样它就适合你的绘图了。这可以通过
setxticks
Axis.Axis
完成。例如,在下面的示例中,我每5次出现一个勾号

为了进一步提高可读性,我还包括在刻度标签上旋转45度。请注意此处的参数
ha=“right”
。它用于确保标签的右侧部分与记号对齐

def plot(cases, deaths):
    plt.figure("Cumulative deaths and cases")
    ax = plt.gca()
    cases.plot(kind='bar', x='Specimen date', y='Cumulative lab-confirmed cases', ax=ax, color='green')
    deaths.plot(kind='bar', x='Reporting date', y='Cumulative deaths', ax=ax, color='red')
   
    ax.xaxis.set_ticks(range(0, len(cases), 5))
    ax.set_xticklabels(ax.get_xticklabels(), rotation=45, ha="right")

    plt.show()

请在问题主体中包含您的代码,以便于人们帮助您。请完全忘记这一点。我已经修好了,对不起!你好,谢谢你的回复。如果我增加窗口的大小,这似乎是一个很好的解决办法。有没有办法把它们隔开?例如2020年3月21日。。。23/03/2020 ... (而不是它们都沿着轴?@SpiritedByte您可以使用
plt.xticks()
函数中的参数
rotation
使刻度水平,如果您需要的话。如果你想让记号出现在多行上,也许这篇文章很有用。