MCPcopy Index your code
hub / github.com/antlr/codebuff / writePython

Method writePython

src/org/antlr/codebuff/validation/TestK.java:100–137  ·  view source on GitHub ↗
(LangDescriptor[] languages, List<Integer> ks, Float[][] medians)

Source from the content-addressed store, hash-verified

98 }
99
100 public static void writePython(LangDescriptor[] languages, List<Integer> ks, Float[][] medians) throws IOException {
101 StringBuilder data = new StringBuilder();
102 StringBuilder plot = new StringBuilder();
103 for (int i = 0; i<languages.length; i++) {
104 LangDescriptor language = languages[i];
105 List<Float> filteredMedians = BuffUtils.filter(Arrays.asList(medians[i]), m -> m!=null);
106 data.append(language.name+'='+filteredMedians+'\n');
107 plot.append(String.format("ax.plot(ks, %s, label=\"%s\", marker='%s', color='%s')\n",
108 language.name, language.name,
109 nameToGraphMarker.get(language.name),
110 nameToGraphColor.get(language.name)));
111 }
112
113 String python =
114 "#\n"+
115 "# AUTO-GENERATED FILE. DO NOT EDIT\n" +
116 "# CodeBuff %s '%s'\n" +
117 "#\n"+
118 "import numpy as np\n"+
119 "import matplotlib.pyplot as plt\n\n" +
120 "%s\n" +
121 "ks = %s\n"+
122 "fig = plt.figure()\n"+
123 "ax = plt.subplot(111)\n"+
124 "%s"+
125 "ax.tick_params(axis='both', which='major', labelsize=18)\n" +
126 "ax.set_xlabel(\"$k$ nearest neighbors\", fontsize=20)\n"+
127 "ax.set_ylabel(\"Median error rate\", fontsize=20)\n" +
128 "#ax.set_title(\"k Nearest Neighbors vs\\nLeave-one-out Validation Error Rate\")\n"+
129 "plt.legend(fontsize=18)\n\n" +
130 "fig.savefig('images/vary_k.pdf', format='pdf')\n"+
131 "plt.show()\n";
132 String code = String.format(python, Tool.version, new Date(), data, ks, plot);
133
134 String fileName = "python/src/vary_k.py";
135 Utils.writeFile(fileName, code);
136 System.out.println("wrote python code to "+fileName);
137 }
138
139 /** Return error rate for each document using leave-one-out validation */
140 public List<Float> scoreDocuments() throws Exception {

Callers 1

mainMethod · 0.95

Calls 6

filterMethod · 0.95
getMethod · 0.65
asListMethod · 0.45
appendMethod · 0.45
formatMethod · 0.45
writeFileMethod · 0.45

Tested by

no test coverage detected