我正在运行seaborn 0.13.2。 我正在尝试制作只有点的散点图。当我尝试
sns.scatterplot(end_of_year_2018)
时,它显示了各种奇怪的符号,从三角形到+,*等(见下图)
所以我尝试制作这样的散点图:
end_of_year_2018 = yf.download ([ "ABBN.SW", "ADEN.SW", "CFR.SW", "SGSN.SW", "HOLN.SW", "NESN.SW", "NOVN.SW", "ROG.SW", "SREN.SW", "SCMN.SW", "UHR.SW", "UBSG.SW", "ZURN.SW" ], start = '2018-12-28', end = '2018-12-29')['Adj Close']
sns.scatterplot(end_of_year_2018, marker='o')
但所有这些符号仍然存在。
其他一切都很好。
我已经尝试更新我的 Seaborn:
pip install --upgrade seaborn
我尝试重置seaborn:sns.set(rc=None)
其余情节都很好,我该怎么办?
pandas.DataFrame.melt
来实现,如这个问题的答案所示。python v3.12.0
、pandas v2.2.1
、matplotlib v3.8.1
、seaborn v0.13.2
进行测试。import yfinance as yf
import seaborn as sns
import matplotlib.pyplot as plt
# download the data
end_of_year_2018 = yf.download(['ABBN.SW', 'ADEN.SW', 'CFR.SW', 'SGSN.SW', 'HOLN.SW', 'NESN.SW', 'NOVN.SW', 'ROG.SW', 'SREN.SW', 'SCMN.SW', 'UHR.SW', 'UBSG.SW', 'ZURN.SW'], start='2018-12-28', end='2023-12-29')['Adj Close']
# convert the data to a long form
end_of_year_2018_long = end_of_year_2018.melt(ignore_index=False).reset_index()
# plot
plt.figure(figsize=(10, 8))
ax = sns.scatterplot(data=end_of_year_2018_long, x='Date', y='value', hue='Ticker', marker='.')
sns.move_legend(ax, bbox_to_anchor=(1, 0.5), loc='center left', frameon=False)
sns.relplot
,这样就无需单独设置图形大小和图例位置。g = sns.relplot(data=end_of_year_2018_long, x='Date', y='value', hue='Ticker', marker='.', height=7)