I want to draw a vertical line on a heatmap to grasp when the event occurred on the analysis object. For example, the heatmap expresses the result of STFT (Short-Time Fourier Transform) has two dimensions; the x-axis is the time axis, and the y-axis indicates frequency.
import matplotlib.pyplot as plt import numpy as np import seaborn as sns # Make the sample data arr = np.random.rand(20, 20) # Draw the heatmap (a figure on the left) fig, (ax1, ax2) = plt.subplots(1, 2) sns.heatmap(arr, vmin=0, vmax=5, cmap="jet", ax=ax1) # Add the vertical line on the headmap (a figure on the right) sns.heatmap(arr, vmin=0, vmax=5, cmap="jet", ax=ax2) ax2.axvline(x=4, linewidth=2, color="w") # Drawing plt.show()
The figure on the left side does not draw a vertical line, and the figure on the right side draws one.
This original article is the following that is written by me. This is a translation of a portion of this original article from Japanese to English.