我正在嘗試使用 seaborn 和 matplotlib 繪制與影像重疊的熱圖,如下面的代碼所示:
import seaborn as sns
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import matplotlib.image as mpimg
df = pd.read_csv('/home/diegonachon/eye-tracker/eyedata/csv_heatmap/cl/Suj5_Control_HO_1ph.csv')
df['xpl'] = pd.to_numeric(df['xpl'], errors = 'coerce')
df['ypl'] = pd.to_numeric(df['ypl'], errors = 'coerce')
df = df[(df['event'] == 'FIX') & (~(df['xpl'].isnull()))]
hmax = sns.kdeplot(x = df.xpl, y = df.ypl, cmap="Reds", shade=True, bw_adjust= 0.6, clip = ((0,800), (0,600)),
alpha = 0.6, antialiased = True)
hmax.collections[0].set_alpha(0)
map_img = mpimg.imread('/home/diegonachon/eye-tracker/eyedata/asd.jpg')
plt.imshow(map_img, zorder=0, extent=[0, 800, 0, 600])
# image = plt.imshow(map_img, zorder=0, extent=[0, 800, 0, 600], aspect = 250)
# figure(figsize=(8, 6), dpi=80)
# plt.imsave('test.png', image)
# plt.savefig('fig8_6_80dpi.png')
plt.show()
結果:https : //imgur.com/a/4rdgCOH
第一件事是我無法調整它的大小,我嘗試更改“aspect”和“figsize”,但沒有任何反應(如評論中顯示的代碼)
當我嘗試保存繪圖生成時,是空檔案 (savefig) 或錯誤(取消注釋影像 = plt.imswho(....) - AttributeError: 'tuple' object has no attribute 'shape')
謝謝!
uj5u.com熱心網友回復:
這是我對您的代碼所做的更改。由于我無權訪問您的資料,因此我使用亂數代替,但這會給您帶來想法。有關答案,請參閱大寫注釋。
import seaborn as sns
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import matplotlib.image as mpimg
# CREATED FOR TEST
x = np.random.rand(100,)
y = np.random.rand(100,)
fig, ax = plt.subplots(figsize=(10,10)) # YOU CAN MODIFY FIGSIZE FROM HERE
ax = sns.kdeplot(x = x, y = y, cmap="Reds", shade=True, bw_adjust= 0.6,
clip = ((0,800), (0,600)),
alpha = 0.6, antialiased = True)
ax.collections[0].set_alpha(0)
# map_img = mpimg.imread('/home/diegonachon/eye-tracker/eyedata/asd.jpg')
#plt.imshow(map_img, zorder=0, extent=[0, 800, 0, 600])
# image = plt.imshow(map_img, zorder=0, extent=[0, 800, 0, 600],
#aspect = 250)
# figure(figsize=(8, 6), dpi=80)
# plt.imsave('test.png', image)
# plt.savefig('fig8_6_80dpi.png')
# THIS WILL SAVE YOUR IMAGE AS A PNG FILE
plt.savefig('test.png')
plt.show()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/389334.html
標籤:Python matplotlib 阴谋 海生
上一篇:程式員在35歲依然被公司搶著要?
