我試圖用 matplotlib imshow 繪制相關矩陣。
這幾乎是成功的,但我的滴答被抵消了,第一個丟失了!?
這是我的代碼:
fig1, ax = plt.subplots(1,1)
heatplot = ax.imshow(X.corr(), cmap='jet')
ax.set_xticklabels(X.columns)
ax.set_yticklabels(X.columns)
tick_spacing = 1
ax.xaxis.set_major_locator(ticker.MultipleLocator(tick_spacing))
ax.yaxis.set_major_locator(ticker.MultipleLocator(tick_spacing))
結果:Tmin應該結束Tmax但現在在最后一行沒有打勾

uj5u.com熱心網友回復:
呼叫ax.xaxis.set_major_locator(ticker.MultipleLocator(1))不指定起始刻度位置。顯然,這里 matplotlib 還在 position 處設定了一個刻度-1。此外,刻度位置應在呼叫之前固定set_xticklabels。
最簡單的方法是呼叫ax.set_xticks(range(len(X.columns)))以指定所需的確切刻度。
from matplotlib import pyplot as plt
import numpy as np
import pandas as pd
fig1, ax = plt.subplots(1, 1)
X = pd.DataFrame(np.random.rand(4, 10), columns=[*'abcdefghij'])
heatplot = ax.imshow(X.corr(), cmap='seismic_r', vmin=-1, vmax=1)
ax.set_xticks(range(len(X.columns)))
ax.set_yticks(range(len(X.columns)))
ax.set_xticklabels(X.columns, rotation=90)
ax.set_yticklabels(X.columns)
plt.show()


轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/328177.html
標籤:matplotlib 显示 股票代码
上一篇:為什么'metrics=tf.keras.metrics.Accuracy()'會出現錯誤,而'metrics=['accuracy']'卻
下一篇:如何在資料框中創建多個箱線圖?
