把雅克西斯藏在这个p里

2024-09-26 22:51:32 发布

您现在位置:Python中文网/ 问答频道 /正文

简单的问题:我需要从代码生成的绘图中隐藏y轴:

import matplotlib.pyplot as plt
import seaborn
seaborn.set(style="white")
import random

objects = [("Zachary's karate club", 78),
            ("dolphins social network", 159),
            ("C. elegans connectome", 2148 ),
            ("US power grid", 6594 ),
            ("PGP web of trust (2004)", 24316),
            ("Linux kernel source file includes", 230213),
            ("Enron emails (1999-2003)", 1148072),
            ("Internet autonomous systems (2005)", 11095298),
            ("CS collaborations (DBLP)", 18e6),
            ("Wikipedia hyperlinks", 350e6),
            ("Twitter follower graph (2012)", 20e9),
            ("Facebook social graph (2011)", 68.7e9),
            ("NSA social graph (?)", 1e11),
            ("human connectome (neuronal)", 1e14)
           ]

fig, ax = plt.subplots(figsize=(16,6))

for i, (name, radius) in enumerate(objects):
    sgn = 2 * (i % 2) - 1
    ax.annotate(name, xy=(radius,0), xytext=(radius,sgn* (0.5 + random.randint(1,12) * 0.1)), ha='center',
                arrowprops=dict(arrowstyle="->", connectionstyle="arc,angleA=0,armA=30,rad=30", facecolor='gray'),
               color="Maroon")
ax.set_xscale('log')
ax.set_xlim(1.e1,1.e15)
ax.set_ylim(0,4)
ax.axes.get_yaxis().set_visible(False)
ax.axhline(color='k', lw=1)
ax.plot([obj[1] for obj in objects], [0]*len(objects), 'ob', markersize=2)
ax.set_yticks([])
ax.tick_params(length=8)
ax.set_xlabel('edges')
seaborn.despine()
plt.show()

enter image description here

应该很简单,但是到目前为止我发现的所有代码示例都不起作用,例如fig.axes[0].get_yaxis().set_visible(False)


Tags: nameinimportforobjectsfigsocialplt
2条回答

左轴来自seaborn,而不是matplotlib。可以使用以下方法将其关闭:

seaborn.despine(left=True)

针对tcaswell的评论如下:

Seaborn将样条线添加到绘图中。despine命令接受以下参数以删除它们。但是,必须明确告诉它关闭左侧或底部。在

^{pr2}$

其中

top, right, left, bottom : boolean, optional
If True, remove that spine.

这是一个有点黑客,但似乎得到了你想要的结果。在

ax.set_frame_on(False) #Remove both axes
ax.axhline(0,color='black') #Put the x axis back

来自两个网站:

相关问题 更多 >

    热门问题