python - PyPlot - 设置绘图的网格线间距

标签 python matplotlib networkx gridlines

我有一个由 Networkx 创建的无向图,我正在使用 pyplot 显示它,我想让用户指定网格线之间的间距。我不想手动输入刻度,因为这需要知道绘图的最终大小(如果有办法做到这一点,我想知道),这可能会因显示的图表而异。

有什么方法可以设置间距量吗?我找了一段时间,找不到任何东西,谢谢。

下面的代码与绘图而非图形的创建有关。

#Spacing between each line
intervals = float(sys.argv[1])

nx.draw(displayGraph, pos, node_size = 10)
plt.axis('on')
plt.grid('on')
plt.savefig("test1.png")

我需要找到一种方法让网格具有用户定义的间距。我已经找到了方法来做到这一点,但它还依赖于说明你想要多少条网格线,这会导致这些线在绘图上的间距不均匀

最佳答案

不确定这是否违背了您不想手动玩刻度的愿望,但您可以使用 matplotlib.ticker 将刻度设置为您给定的间隔:

import matplotlib.pyplot as plt
import matplotlib.ticker as plticker

fig,ax=plt.subplots()

#Spacing between each line
intervals = float(sys.argv[1])

loc = plticker.MultipleLocator(base=intervals)
ax.xaxis.set_major_locator(loc)
ax.yaxis.set_major_locator(loc)

# Add the grid
ax.grid(which='major', axis='both', linestyle='-')

关于python - PyPlot - 设置绘图的网格线间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30482727/

相关文章:

python - Networkx 统计推断

python - 在 Mac OS X Yosemite 上安装 Python3

python - 如何从进程或线程实例返回值?

python - Pyplot 图例/键,但用于比例,就像在 map 上一样

python - NetworkX/Pandas - 如何将每个节点的社区组输出到.txt

python - IronPython 2.7 与 NetworkX 1.8.1

python - 如何打破两个循环(while 和 for)

python - Pandas :用另一个数据框替换一行

Python matplotlib/seaborn 绘图条形图子类别

python - Matplotlib 文本对齐