沿图形的网格线重复y轴刻度(matplotlib)

时间:2010-08-13 15:24:24

标签: python graph matplotlib

我是matplotlib的新手,我想知道我是否可以重复y轴刻度 沿线图的网格线的值。

图表有2轴, x轴具有每小时值,y轴具有温度值。

我需要将图表显示48小时,因此会生成一个较长的水平图。当用户水平滚动图表时,他有x轴刻度可供参考但是 y轴刻度朝左,不可见。

我需要一种方法来重复所有图形的y轴刻度(温度值)。有没有办法实现这个目标?

除了重复这些值之外,还有更好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

您可以查看this example中的颜色栏:

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.collections import EllipseCollection

x = np.arange(10)
y = np.arange(15)
X, Y = np.meshgrid(x, y)

XY = np.hstack((X.ravel()[:,np.newaxis], Y.ravel()[:,np.newaxis]))

ww = X/10.0
hh = Y/15.0
aa = X*9


ax = plt.subplot(1,1,1)

ec = EllipseCollection(
                        ww,
                        hh,
                        aa,
                        units='x',
                        offsets=XY,
                        transOffset=ax.transData)
ec.set_array((X+Y).ravel())
ax.add_collection(ec)
ax.autoscale_view()
ax.set_xlabel('X')
ax.set_ylabel('y')
cbar = plt.colorbar(ec)
cbar.set_label('X+Y')
plt.show()

快速实验告诉我,您可以平移/缩放主窗口,并且颜色条将保持不变。