Tengo un conjunto de imágenes png de 150x150px, y un conjunto de coordenadas (x, y) a las que corresponden. ¿Hay alguna manera de trazar las imágenes en una cuadrícula? Por ejemplo, yo estoy buscando una solución de R o Python para crear algo como lo siguiente: Colocar imágenes personalizadas en una ventana de trazado - como marcadores de datos personalizados o anotar esos marcadores
Respuesta
se crea un cuadro delimitador creando instancias de AnnotationBbox -una vez para cada imagen que desea mostrar ; la imagen y sus coordenadas se pasan al constructor.
El código es obviamente repetitivo para las dos imágenes, por lo que una vez que el bloque se pone en una función, no es tan largo como parece aquí.
import matplotlib.pyplot as PLT
from matplotlib.offsetbox import AnnotationBbox, OffsetImage
from matplotlib._png import read_png
fig = PLT.gcf()
fig.clf()
ax = PLT.subplot(111)
# add a first image
arr_hand = read_png('/path/to/this/image.png')
imagebox = OffsetImage(arr_hand, zoom=.1)
xy = [0.25, 0.45] # coordinates to position this image
ab = AnnotationBbox(imagebox, xy,
xybox=(30., -30.),
xycoords='data',
boxcoords="offset points")
ax.add_artist(ab)
# add second image
arr_vic = read_png('/path/to/this/image2.png')
imagebox = OffsetImage(arr_vic, zoom=.1)
xy = [.6, .3] # coordinates to position 2nd image
ab = AnnotationBbox(imagebox, xy,
xybox=(30, -30),
xycoords='data',
boxcoords="offset points")
ax.add_artist(ab)
# rest is just standard matplotlib boilerplate
ax.grid(True)
PLT.draw()
PLT.show()
Esto es genial, ¿sabes cómo eliminar el borde? –
@JohnM Pass 'frameon = False' a' AnnotationBbox() ' – bdforbes
me gustaría utilizar matplotlib para eso. this demo muestra algo similar, estoy seguro de que se puede adaptar a su problema particular
Una forma de hacerlo en R (2.11.0 y superior):??
library("png")
# read a sample file (R logo)
img <- readPNG(system.file("img", "Rlogo.png", package="png"))
# img2 <- readPNG(system.file("img", "Rlogo.png", package="png"))
img2 <- readPNG("hand.png", TRUE) # here import a different image
if (exists("rasterImage")) {
plot(1:1000, type='n')
rasterImage(img, 100, 100, 200, 200)
rasterImage(img2, 300, 300, 400, 400)
}
ver readPNG y rasterImage de detalles.
En R, leido en la ayuda (rasterImage):
require(grDevices)
#set up the plot region:
op <- par(bg = "thistle") <h>
plot(c(100, 250), c(300, 450), type = "n", xlab="", ylab="")
image <- as.raster(matrix(0:1, ncol=5, nrow=3))
rasterImage(image, 100, 300, 150, 350, interpolate=FALSE)
rasterImage(image, 100, 400, 150, 450)
rasterImage(image, 200, 300, 200 + xinch(.5), 300 + yinch(.3), interpolate=FALSE)
rasterImage(image, 200, 400, 250, 450, angle=15, interpolate=FALSE)
par(op)
.... es un buen ejemplo.
También en R puede usar las funciones my.symbols y ms.image en el paquete TeachingDemos.
- 1. Intervalos personalizados de marcadores en Mathematica PlotMarkers
- 2. Agregar marcadores personalizados a emacs org-mode
- 3. Google Map API V3: cómo agregar datos personalizados a marcadores
- 4. Marcadores de reinicio Jpeg
- 5. Google Maps V3: Mostrar solo marcadores en la ventana gráfica - Borrar el número de marcadores
- 6. Marcadores personalizados del mapa de Google Retina resolution
- 7. Fusionando marcadores en mercurial
- 8. Marcadores en Logback
- 9. Actualizar conjuntos de marcadores
- 10. Marcadores de Firefox estructura SQLite
- 11. Agregar marcadores personalizados dinámicamente al mapa con OpenLayers
- 12. Diferentes marcadores en Google Maps con gmaps4rails
- 13. Openlayers: Características vectoriales en lugar de marcadores
- 14. Trazado de Python: ¿Cómo puedo hacer que matplotlib.pyplot deje de forzar el estilo de mis marcadores?
- 15. ¿Pytest admite marcadores "predeterminados"?
- 16. ¿Cómo especificar un marcador de trazado particular de la lista automática de marcadores de Mathematica?
- 17. Retire oyentes marcadores
- 18. string.format() con marcadores de posición opcionales
- 19. OpenLayers, buen agrupamiento de marcadores
- 20. Mercurial, "ramificación con marcadores"
- 21. ramificación Mercurial y marcadores
- 22. pymssql y marcadores de posición
- 23. Cambiar los marcadores de conflicto de git
- 24. Gráfico con menos marcadores que puntos de datos (¿o una forma mejor de trazar los CDF?) [Matplotlib, o ayuda general de trazado]
- 25. conflicto Git marcadores
- 26. marcadores - Visual Studio
- 27. ¿Qué es una búsqueda de marcadores en el servidor Sql?
- 28. Problema con una gran cantidad de marcadores en el mapa
- 29. Marcadores de fecha y rotación en matplotlib
- 30. Lea los marcadores de Firefox con C#
Relacionados: http://stackoverflow.com/questions/11487797/python-matplotlib-basemap-overlay-small-image-on-map-plot –