绘图调整大小并保存为空
Plot resize and saving empty
我正在尝试使用 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' 对象没有属性 'shape')
谢谢!
以下是我对您的代码所做的更改。由于我无权访问您的数据,因此我改用了随机数,但这会让您有所了解。请参阅大写注释以获得答案。
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()
我正在尝试使用 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' 对象没有属性 'shape')
谢谢!
以下是我对您的代码所做的更改。由于我无权访问您的数据,因此我改用了随机数,但这会让您有所了解。请参阅大写注释以获得答案。
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()