我可以使用左侧y轴添加一个标签plt.ylabel,但是如何将它添加到辅助y轴?
table = sql.read_frame(query,connection)
table[0].plot(color=colors[0],ylim=(0,100))
table[1].plot(secondary_y=True,color=colors[1])
plt.ylabel('$')
Run Code Online (Sandbox Code Playgroud) 我希望在我的绘图上同时获得水平和垂直网格线,但默认情况下只显示水平网格线.我pandas.DataFrame在python中使用一个sql查询来生成一个带有x轴日期的线图.我不确定为什么他们没有出现在日期,我试图寻找答案,但找不到.
我用来绘制图形的所有内容都是下面的简单代码.
data.plot()
grid('on')
Run Code Online (Sandbox Code Playgroud)
data是DataFrame,它包含sql查询中的日期和数据.
我也试过添加下面的代码,但我仍然得到相同的输出没有垂直网格线.
ax = plt.axes()
ax.yaxis.grid() # horizontal lines
ax.xaxis.grid() # vertical lines
Run Code Online (Sandbox Code Playgroud)
有什么建议?

我期待在x轴上编辑日期的格式.下图显示了默认情况下它们在条形图中的显示方式.我想删除'Dec'和'2012'的重复,只是沿着x轴有实际的日期编号.
有关如何做到这一点的任何建议?

我使用以下方法制作堆积条形图:
DataFrame.plot(kind='bar',stacked=True)
Run Code Online (Sandbox Code Playgroud)
我想控制条的宽度,以便条形图像直方图一样相互连接.
我查看了文档,但无济于事 - 有什么建议吗?有可能这样做吗?
我在matplotlib中生成一些图,并希望为某些数据添加解释性文本.我希望在我的图例中有一个字符串作为'0-10'项目上方的单独图例项目.有谁知道是否有可能这样做?

这是我的传奇代码:
ax.legend(['0-10','10-100','100-500','500+'],loc='best')
我试图隐藏我的条形图的第一个和最后一个x轴刻度文本,即'2004'和'2013'.Matplotlib默认自动添加这些,即使我的数据集是2005年到2012年,因此我不希望在我的条形图中有2004和2013.我正在寻找一些代码行来选择和隐藏这些刻度.有任何想法吗?
我想让刻度标记居中的x-tick日期标签,而不是如下图所示以刻度线为中心.
我已阅读文档但无济于事 - 有没有人知道这样做的方法?

以下是我用于x轴刻度格式化的所有内容,如果它有帮助:
day_fmt = '%d'
myFmt = mdates.DateFormatter(day_fmt)
ax.xaxis.set_major_formatter(myFmt)
ax.xaxis.set_major_locator(matplotlib.dates.DayLocator(interval=1))
for tick in ax.xaxis.get_major_ticks():
tick.tick1line.set_markersize(0)
tick.tick2line.set_markersize(0)
tick.label1.set_horizontalalignment('center')
Run Code Online (Sandbox Code Playgroud) 我注意到,当我的条形图中有5个或更少数据条时,x轴会自动添加额外的刻度:
我想要的是这样的:

有没有什么方法可以强制matplotlib为第一个图形每个条形成一个刻度标签?
我想隐藏我的x轴上的主要刻度标签,同时只保留其次要标签.我的想法是我的日期显示在主要刻度之间而不是默认情况下.我已经看到了类似问题的一些其他答案,并尝试使用他们的方式隐藏主要的蜱但是我没有太多的运气让它工作.我的图表目前看起来像这样:

这是我最初为我的图表设置的格式代码,然后我决定将标签放在次要刻度上.
day_fmt = '%d'
myFmt = mdates.DateFormatter(day_fmt)
ax.xaxis.set_major_formatter(myFmt)
ax.xaxis.set_major_locator(matplotlib.dates.DayLocator(interval=1))
Run Code Online (Sandbox Code Playgroud)
我试图使用下面的代码隐藏主要刻度,以显示次要刻度.在这里,我在中午12点使用了一个小时定位器来获得一天的中间点:
import matplotlib.ticker
ax.xaxis.set_major_formatter(ticker.NullFormatter()) #Clear major tick labels
ax.xaxis.set_minor_formatter(myFmt)
ax.xaxis.set_minor_locator(matplotlib.dates.HourLocator(interval=12))
Run Code Online (Sandbox Code Playgroud)
但出于某种原因,我得到的图形看起来像上图 - 带有主要和次要的x轴刻度标签.我还尝试使用清除不需要的滴答声ax.set_xticks([]).有没有人有类似的问题并修复此问题或知道克服这个问题的方法?
我正在使用一个Python脚本,使用ReportLab生成PDF报告.我需要以横向方式生成页面,并且我已经查看了ReportLab手册,但我找不到这样做的方法.任何想法或建议?