微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

没有刻度的seaborn 风格whitegrid

如何解决没有刻度的seaborn 风格whitegrid

我想创建一个没有 x 或 y 刻度的散点图。但我想看白格风格的情节。当我明确设置 xticks 时,我也会丢失 whitegrids。有什么技巧吗?

import matplotlib.pyplot as plt
plt.style.use('ggplot')
import numpy as np
fig,ax = plt.subplots(frameon=False)

colormap = np.array(["orange","cyan"])
x = np.array([2,2,4,4]*10)
y = np.array([2,4])
col = np.array(['b','g'])
colors = colormap[np.where(y==x[:,None])[1]]
Y = np.random.random((70,2))
plt.xticks([])
plt.yticks([])
ax.scatter(Y[:,0],Y[:,1],c=colors)

解决方法

您想删除勾号标签,而不是勾号本身。最好切换他们的可见性属性:

plt.setp(ax.get_xticklabels(),visible=False)
plt.setp(ax.get_yticklabels(),visible=False)
,

下面是T先生建议的例子,你可以将xticks字体颜色设置为背景颜色。

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

sns.set_style("whitegrid")

fig,ax = plt.subplots(frameon=False)
colormap = np.array(["orange","cyan"])

x = np.array([2,2,4,4]*10)
y = np.array([2,4])

col = np.array(['b','g'])
colors = colormap[np.where(y==x[:,None])[1]]

Y = np.random.random((70,2))

ax.scatter(Y[:,0],Y[:,1],c=colors)
ax.tick_params(axis="both",colors="white") #suggested by Mr T,easier way
# plt.setp(ax.get_xticklabels(),color="white",backgroundcolor="white") # suggested by Me
# plt.setp(ax.get_yticklabels(),backgroundcolor="white") # suggested by Me

我采用了 T 先生的答案,它更简单也更简单。

OutputImage

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。