使用Java 7语法https://github.com/antlr/grammars-v4/blob/master/java7/Java7.g4我想找到具有特定名称的方法,然后打印出该方法.我看到methodDeclaration我匹配时可以使用规则.所以我继承Java7BaseListener并覆盖这个监听器方法:
@Override public void enterMethodDeclaration(Java7Parser.MethodDeclarationContext ctx) { }
Run Code Online (Sandbox Code Playgroud)
如何获取原始文本? ctx.getText()给了我一个字符串,所有的空白都被删除了.我想要评论和原始格式.
使用上一个问题中的相同代码,此示例生成以下图表:
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
data = (0, 1890,865, 236, 6, 1, 2, 0 , 0, 0, 0 ,0 ,0 ,0, 0, 0)
ind = range(len(data))
width = 0.9 # the width of the bars: can also be len(x) sequence
p1 = plt.bar(ind, data, width)
plt.xlabel('Duration 2^x')
plt.ylabel('Count')
plt.title('DBFSwrite')
plt.axis([0, len(data), -1, max(data)])
ax = plt.gca()
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.spines['bottom'].set_visible(False)
plt.savefig('myfig')
Run Code Online (Sandbox Code Playgroud)

而不是刻度标签为0,2,4,6,8 ...我宁愿让它们在每个标记处标记,并继续使用2 ^ x的值:1,2,4,8,16等. 我怎样才能做到这一点?然后更好的是,我可以将标签置于条形下方而不是左边缘吗?