如何制作具有两个 x 轴的图形? [关闭]

Posted

技术标签:

【中文标题】如何制作具有两个 x 轴的图形? [关闭]【英文标题】:How can I make a figure that has two x-axis? [closed] 【发布时间】:2016-09-11 17:44:26 【问题描述】:

我想用python制作一个这样的图。我是用excel画的。

【问题讨论】:

【参考方案1】:

您将不得不构建类似两个图的东西,并使用其中一个的 x 轴作为辅助轴。您的绘图中还有其他功能,例如为刻度及其位置设置标签。以下示例对这些元素中的每一个进行了一些处理,因此您应该能够适应您的问题:

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
ax1 = fig.add_subplot(111)
ax2 = ax1.twiny()

# Add some extra space for the second axis at the bottom
fig.subplots_adjust(bottom=0.2)
ax1.set_xticks([1,2,4,5,7,8])
ax1.set_xlim(0,9)
ax1.set_xticklabels(('2015','2016','2015','2016','2015','2016'))
ax2.spines["bottom"].set_position(("axes", -0.15))
ax2.xaxis.set_ticks_position("bottom")
ax2.spines["bottom"].set_visible(True)
ax2.set_xticks([1.5,4.5,7.5])
ax2.set_xticklabels(('1','2','3'))
ax2.set_xlim(0,9)

b1 = np.random.randint(0,100,6)
b2 = np.random.randint(0,100,6)
b3 = np.random.randint(0,100,6)
plt.bar(np.array([1,2,4,5,7,8])-0.4,b1,color='blue')
plt.bar(np.array([1,2,4,5,7,8])-0.4,b2,color='orange',bottom=b1)
plt.bar(np.array([1,2,4,5,7,8])-0.4,b3,color='yellow',bottom=b1+b2)

plt.show()

,结果是这样的:

【讨论】:

以上是关于如何制作具有两个 x 轴的图形? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Figure(matplotlib FigureCanvasQTAgg)绘制具有多个y轴的共享x轴子图?

matlab里怎么画一个x轴两个y轴的图

如何组合散点图以形成具有公共 X 轴的散点图矩阵以用于不同的 Y 轴?

如何在具有不同 Y 轴的同一个 seaborn 图中很好地制作条形图和线图?

如何使用 GraphView 修复 x 轴的限制

怎样用EXCEL制作一个X轴两个Y轴的柱形图,