Comment puis-je placer une table, sur une parcelle de Matplotlib?
Je ne suis pas du tout avoir de succès dans l'obtention de la matplotlib commandes de table de travail. Voici un exemple de ce que je voudrais faire:
N'importe qui peut aider avec la table de code de la construction?
import pylab as plt
plt.figure()
ax=plt.gca()
y=[1,2,3,4,5,4,3,2,1,1,1,1,1,1,1,1]
plt.plot([10,10,14,14,10],[2,4,4,2,2],'r')
col_labels=['col1','col2','col3']
row_labels=['row1','row2','row3']
table_vals=[11,12,13,21,22,23,31,32,33]
# the rectangle is where I want to place the table
plt.text(11,4.1,'Table Title',size=8)
plt.plot(y)
plt.show()
- Avez-vous essayé de chercher sur le ceci exemple? Ou vous pourriez même être en mesure de faire quelque chose similaire, mais au lieu de les annotations, vous disposez d'une table.
- Oui j'ai vu que exemple. Quand j'ai essayé d'utiliser le code, je ne pouvais pas affecter la ligne de couleurs et de placement. J'ai aussi ne pouvais pas trouver toute la doc de l'aide sur la syntaxe ou le type de l'appel. Comme pour les annotations, je crois qu'il existe plus de contrôle de la spécification d'un deuxième axes de tracer le tableau de l'.
Vous devez vous connecter pour publier un commentaire.
Autant que je sache, vous ne pouvez pas arbitrairement place un tableau de la
matplotlib
de la parcelle à l'aide de seulement natifmatplotlib
fonctionnalités. Ce que vous pouvez faire est de prendre avantage de la possibilité delatex
de l'affichage de texte. Toutefois, pour ce faire, vous devriez avoir à travaillerlatex
de l'environnement dans votre système. Si vous en avez un, vous devriez être en mesure de produire des graphiques telles que ci-dessous:Le résultat est:
Veuillez prendre dans l'esprit que c'est rapide n'dirty exemple; vous devriez être en mesure de placer le tableau correctement en jouant avec les coordonnées de texte. Veuillez également vous reporter à la docs si vous avez besoin de changer les polices, etc.
Mise à JOUR: plus de détails sur
pyplot.table
Selon la la documentation,
plt.table
ajoute une table de courant axes. À partir des sources, il est évident, que l'emplacement de la table sur le graphique est déterminé en fonction d'axes.Y
de coordonnées peut être contrôlé avec les mots-cléstop
(graphique ci-dessus),upper
(dans la moitié supérieure),center
(au centre),lower
(dans la moitié inférieure) etbottom
(graphique ci-dessous).X
de coordonnées est contrôlé avec les mots-clésleft
etright
. Toute combinaison de ces deux œuvres, par exemple destop left
,center right
etbottom
est OK pour l'utiliser.De sorte que le plus proche graphique de ce que vous voulez pourrait être faite avec:
Et cela vous donne
Espérons que cette aide!
loc
mot-clétop
place le tableau ci-dessus, les axes, etbottom
le place en dessous de l'axe. Il suffit de jouer avec les mots-clés et voir ce que vous obtenez.Je ne sais pas si les réponses précédentes répond à votre question, j'étais également à la recherche d'un moyen de l'ajout d'une table à l'intrigue et trouvé la possibilité de surmonter la "loc" limitation. Vous pouvez utiliser la boîte englobante de contrôler la position exacte de la table (il ne contient que la création de la table, mais devrait être suffisant):
Et le résultat est (je n'ai pas la réputation de poster des images voici donc le lien): http://www.viresco.pl/media/test.png.
Noter que la bbox unités sont normalisées (pas à l'échelle de la parcelle).