Repository: sunpy/sunpy

Issue:
Add an example on how to plot positions on a blank map
<!-- This comments are hidden when you submit the issue so you do not need to remove them!
Please be sure to check out our contributing guidelines: https://github.com/sunpy/sunpy/blob/master/CONTRIBUTING.rst
Please be sure to check out our code of conduct:
https://github.com/sunpy/sunpy/blob/master/CODE_OF_CONDUCT.rst -->

<!-- Please have a search on our GitHub repository to see if a similar issue has already been posted.
If a similar issue is closed, have a quick look to see if you are satisfied by the resolution.
If not please go ahead and open an issue! -->

### Description
<!-- Provide a general description of the feature you would like. -->
<!-- "If you want to, you can suggest a draft design or API. -->
<!-- This way we have a deeper discussion on the feature. -->
It is commonly seen in papers and presentations to show hpc positions of events such as flares on a blank (white) map. Because the events usually occurred at different times no single observation is appropriate.  

### Additional context
<!-- Add any other context or screenshots about the feature request here. -->
<!-- This part is optional. -->
None


Discussion:
Should be easy enough, use the header helper to create a new map and just have an array of NaNs.
I pretty much have it done already for hpc anyway. Not sure how to create a blank hgs map...
Same way, just set the reference coord to HGS and then set the projection to CAR or similar.
Hey guys, can I work on this issue? Also I am a total newbie so could you please guide me as well?
Hi @m11dedhia, go ahead. 

We have a guide here: https://docs.sunpy.org/en/latest/dev_guide/contents/newcomers.html that will get you setup and some overview on how to start on the example gallery: https://docs.sunpy.org/en/latest/dev_guide/contents/example_gallery.html
Sorry to disturb you @nabobalis but can you tell me how to load a blank map? I was able to use the example map given on the website but couldn't load a blank map. I went to `sunpy/data/_sample.py` but couldn't find anything useful.
I have no idea how to load a blank map. 

You might want to look at https://docs.sunpy.org/en/stable/generated/gallery/map/map_from_numpy_array.html#sphx-glr-generated-gallery-map-map-from-numpy-array-py for ideas. 

I don't know why you went into "sunpy/data/_sample.py" but that code deals with downloading data, there is nothing useful there.
Hey @m11dedhia ! 

To do this you will probably need to create a blank map and then plot it. 

To create a blank map you need a data array of zeros, and then create a header. This can be done using the `sunpy.map.make_fitswcs_header`. An example of something similar is [this](https://docs.sunpy.org/en/stable/generated/gallery/map/map_from_numpy_array.html#sphx-glr-generated-gallery-map-map-from-numpy-array-py) example that @nabobalis linked. 

i.e. you would make the data array something like `data=np.zeros((1000, 1000))` in the example. 

do you have any experience with maps and FITS keywords/WCS before? I would suggest you also have a look at https://docs.sunpy.org/en/stable/guide/data_types/maps.html#creating-maps
Okay, I was able to plot positions  on a blank map, I just wanted to confirm that the file is supposed to be saved in `examples/plotting` right? I'll be naming it as 'plotting_blank_maps.py'.

Resolving patch:
diff --git a/examples/plotting/plotting_blank_map.py b/examples/plotting/plotting_blank_map.py
new file mode 100644
--- /dev/null
+++ b/examples/plotting/plotting_blank_map.py
@@ -0,0 +1,57 @@
+"""
+=============================
+Plot positions on a blank map
+=============================
+
+This example showcases how to plot positions on a blank map.
+It is often useful to plot coordinate positions of events on a blank helioprojective coordinate map.
+In this example, we create an empty map with a WCS defined by a helioprojective frame as observed from Earth at a certain time, and show how you can plot different coordinates on it.
+"""
+
+import matplotlib.pyplot as plt
+import numpy as np
+
+import astropy.units as u
+from astropy.coordinates import SkyCoord
+
+import sunpy.map
+from sunpy.coordinates import frames
+
+################################################################################
+# First we will create a blank map using with an array of zeros.
+# Since there is no WCS information, we will need to construct a header to pass to Map.
+data = np.full((10, 10), np.nan)
+
+# Define a reference coordinate and create a header using sunpy.map.make_fitswcs_header
+skycoord = SkyCoord(0*u.arcsec, 0*u.arcsec, obstime='2013-10-28',
+                    observer='earth', frame=frames.Helioprojective)
+
+# Scale set to the following for solar limb to be in the field of view
+header = sunpy.map.make_fitswcs_header(data, skycoord, scale=[220, 220]*u.arcsec/u.pixel)
+
+# Use sunpy.map.Map to create the blank map
+blank_map = sunpy.map.Map(data, header)
+
+################################################################################
+# Now we have constructed the map, we can plot it and mark important locations to it.
+
+# Initialize the plot and add the map to it
+fig = plt.figure()
+ax = plt.subplot(projection=blank_map)
+blank_map.plot()
+blank_map.draw_limb(color="k")
+blank_map.draw_grid(color="k")
+
+# Coordinates that are being plotted - (0, 0), (50, 100) and (400, 400)
+xc = [0, 50, 400] * u.arcsec
+yc = [0, 100, 400] * u.arcsec
+
+# Place and mark coordinates on the plot
+coords = SkyCoord(xc, yc, frame=blank_map.coordinate_frame)
+p = ax.plot_coord(coords, 'o')
+
+# Set title
+ax.set_title('Plotting fixed points on a blank map')
+
+# Display the plot
+plt.show()


Test patch: