matplotlib 多轴不在零开始

6qfn3psc  于 2023-08-06  发布在  其他
关注(0)|答案(1)|浏览(108)

我画了一个多轴图,有几个问题:
1.为什么左边的y轴不是从零开始。(我的意思是零点不在y轴的开始)。
1.我只想为x轴的主要网格(每周的主要网格线),但代码添加了一个mjor网格的y轴也。
1.如何为y-axix(红色的(ax 2))添加次要网格
1.我想将x轴标签(日期)的颜色更改为黑色

import matplotlib.pyplot as plt
Hits= pd.read_excel("stackoverflow_example.xlsx", sheet_name="data")

fig=plt.figure(figsize=(20,10))

ax=fig.add_subplot(111, label="1")
ax2=fig.add_subplot(111, label="2", frame_on=False)

ax.bar(Hits['Date'], Hits['Total'], width=0.35, color="b" )
ax.set_ylabel('Hits', color="b",size=16)
ax.yaxis.set_label_position('right') 
ax.tick_params(axis='y', colors="b")

ax.tick_params(axis='x', colors="b", rotation=45)
ax.yaxis.tick_right()

ax2.plot(Hits['weeks'], Hits['Cases'], linewidth= 3.5, color="Red")
ax2.set_ylabel("Cases", color="Red",size=16)
ax2.tick_params(axis='y', colors="Red", size=16)
ax2.xaxis.set_ticks_position('top')

major_ticks = np.arange(0, 10, 1)
ax.set_xticks(major_ticks)
ax.grid(which='major', alpha=0.5)

plt.show()

字符串
我的数据
[

图表:


xytpbqjk

xytpbqjk1#

如果你想从零开始,你可以用'ax2.set_ylim()'。之后,可以指定栅格的轴。如果颜色是黑色,可以设置color='k'。

import matplotlib.pyplot as plt

fig=plt.figure(figsize=(20,10))

ax=fig.add_subplot(111, label="1")
ax2=fig.add_subplot(111, label="2", frame_on=False)

ax.bar(Hits['Date'], Hits['Total'], width=0.35, color="b" )
ax.set_ylabel('Hits', color="b",size=16)
ax.yaxis.set_label_position('right') 
ax.tick_params(axis='y', colors="b")

ax.tick_params(axis='x', colors="k", rotation=45)
ax.yaxis.tick_right()

ax2.plot(Hits['weeks'], Hits['Cases'], linewidth= 3.5, color="Red")
ax2.set_ylabel("Cases", color="Red",size=16)
ax2.tick_params(axis='y', colors="Red", size=16)
ax2.xaxis.set_ticks_position('top')
ax2.set_ylim(0,62) # update
major_ticks = np.arange(0, 10, 1)
ax.set_xticks(major_ticks)
ax.grid(which='major', axis='x', alpha=0.5) #update
ax2.grid(which='major', axis='y', alpha=0.5) # update

plt.show()

字符串


的数据

相关问题