我有下面的代码来绘制一个图形
import pandas as pd
import urllib3
import seaborn as sns
decathlon = pd.read_csv("https://raw.githubusercontent.com/leanhdung1994/Deep-Learning/main/decathlon.txt", sep='\t')
fig = sns.scatterplot(data = decathlon,
x = '100m', y = 'Long.jump',
hue = 'Points', palette = 'viridis')
sns.regplot(data = decathlon,
x = '100m', y = 'Long.jump',
scatter = False)我阅读了类似问题的答案,他们使用plt.figure(figsize=(20,10))选项。我想保持原来的方面(宽度与长度的比例),但增加一些百分比的数字,以更好的外观。
请你详细说明一下如何做好吗?
我忘了在上面的代码中添加一行%config InlineBackend.figure_format = 'svg'。不幸的是,当我在下面添加这一行时,答案不起作用。
发布于 2020-10-26 15:03:59
首先,scatterplot()返回的对象是Axes,而不是图形。scatterplot()使用当前轴绘制绘图。如果没有当前轴,那么matplotlib将在当前图形中自动创建一个轴。如果没有当前图形,那么matplotlib将自动创建一个新图形。
此数字的大小由rcParams['figure.figsize']中的值决定。因此,在调用绘图之前,您应该创建一个具有与此变量中定义的相同的高宽比的图形。
例如,下面的代码创建的图形是默认数字的2倍。
tips = sns.load_dataset('tips')
fig = plt.figure(figsize= 2 * np.array(plt.rcParams['figure.figsize']))
ax = sns.scatterplot(data=tips, x="total_bill", y="tip", hue="day")
sns.regplot(data=tips, x="total_bill", y="tip", scatter=False, ax=ax)https://stackoverflow.com/questions/64539392
复制相似问题