As many of you know, throughout January we've been celebrating the 25th Anniversary of Excel. The big online party is over on the Excel Facebook page, where there's a contest to post your best memory of Excel. Thousands of folks have already shared their memories, and the votes are starting to pile up. But it's not too late for you to win one of two Xbox & Kinect packages (the prizes for the top two submissions with the highest votes). Yep - you read that right! Two Xbox & Kinect packages!
...(read more)"Kamis, 27 Januari 2011
Win an Xbox & Kinect – Get those votes in before it’s too late!
Data Visualization Hierarchy of Needs
Is it possible to create a “data visualization hierarchy of needs” like Maslow’s hierarchy of human needs? I’ve tried that in the pyramid above. Here are the details:
- Is it the right Medium? A chart can really help processing data and minimize information overload, but what about “chart overload”? Don’t make a chart if you don’t need one, and make sure that a chart is the best vehicle for your message.
- Answer a Question: Let’s assume that you do need a chart. A chart is (should be…) a visual answer to a very specific question. What is the question? Try to use is as the chart title: does the chart still make sense? Make sure you chose the right data to answer the question.
- Present the Data accurately: A chart is a visual translation of an underlying data table. This translation shouldn’t distort proportions and relationships between data points.
- Emphasize the Patterns: The whole point of presenting the data visually is to take advantage of our built-in pattern detectors, but you must help them. Choose the right chart type. Don’t display the data randomly. For example, don’t sort a categorical variable alphabetically (that’s almost random). The sorting key should be the data itself.
- Establish Priorities: Create layers of reading. Grid lines are less important than the data, so they should be grayed out. Some series are leading actors, other series provide context.
- Multiply Perspectives: Add detail, create multiple views of the same dataset, add interaction.
- Grab Attention: Add color, make your chart aesthetically pleasing.
What do you think? Am I missing something? What would you change? Add your comments below.
______________________
Want to create better dashboards? Try the Excel Dashboard Tutorial.
Post from: Excel Charts Blog.
Data Visualization Hierarchy of Needs
You may also be interested in:
Distributing controls in a userform
The worksheet below calculates the left position of each of the controls. Key assumptions: 1) each control is the same width; 2) the space between two controls is half the width of the control; 3) the layout is rational and logical (i.e., the worksheet has no GIGO protection); and, 4) there are no more than 6 controls.
Values:
G | H | I | |
---|---|---|---|
3 | |||
4 | Form width | 411 | |
5 | |||
6 | Control width | 35 | |
7 | |||
8 | Number of controls | 3 | |
9 | |||
10 | Inter-control gap | 17.5 | |
11 | Space occupied by all controls | 140 | |
12 | Empty space in form | 271 | |
13 | Empty space on left | 135.5 | |
14 | |||
15 | Left position | Control 1 | 135.5 |
16 | Control 2 | 188 | |
17 | Control 3 | 240.5 | |
18 | |||
19 | |||
20 | |||
21 | |||
Formulas:
G | H | I | |
---|---|---|---|
3 | |||
4 | Form width | 411 | |
5 | |||
6 | Control width | 35 | |
7 | |||
8 | Number of controls | 3 | |
9 | |||
10 | Inter-control gap | =I6/2 | |
11 | Space occupied by all controls | =I6*I8+I10*(I8-1) | |
12 | Empty space in form | =I4-I11 | |
13 | Empty space on left | =I12/2 | |
14 | |||
15 | Left position | =IF(ROW()-ROW($H$15)<$I$8,"Control "&(ROW()-ROW($H$15)+1),"") | =IF(H15<>"",I13,"") |
16 | =IF(ROW()-ROW($H$15)<$I$8,"Control "&(ROW()-ROW($H$15)+1),"") | =IF(H16<>"",I15+$I$6+$I$10,"") | |
17 | =IF(ROW()-ROW($H$15)<$I$8,"Control "&(ROW()-ROW($H$15)+1),"") | =IF(H17<>"",I16+$I$6+$I$10,"") | |
18 | =IF(ROW()-ROW($H$15)<$I$8,"Control "&(ROW()-ROW($H$15)+1),"") | =IF(H18<>"",I17+$I$6+$I$10,"") | |
19 | =IF(ROW()-ROW($H$15)<$I$8,"Control "&(ROW()-ROW($H$15)+1),"") | =IF(H19<>"",I18+$I$6+$I$10,"") | |
20 | =IF(ROW()-ROW($H$15)<$I$8,"Control "&(ROW()-ROW($H$15)+1),"") | =IF(H20<>"",I19+$I$6+$I$10,"") | |
21 | |||
Celebrate 25 Years of Excel With Us!
As many of you know, Excel has reached the ripe old
age of 25. In internet years, that’s like 200 years old! To celebrate
we’re kicking off what we hope will be a fun contest centered on fond
memories of Excel. The idea is to use this moment in time for Excel
users (sorry limited only to the US) to share their favorite memory of
how they’ve used the app, what they love about the app, etc. The stakes:
we’re giving away two Xbox & Kinect packages to two people. This is
a “popularity contest” so getting your friends to vote for your
submission is paramount.
The contest is being run on the Excel Facebook page,
so check there for more details on how to enter and get involved. Below
are the rules & conditions for the contest, so be sure to read
through these before entering.
How I Do
Desktop: HP HPE-150f, i7 860@2.80, 8G RAM, Win7 64bit, Dual 22″ Acer monitors. I used to be strictly a laptop guy, but when the D810 died, I decided to go for a desktop. I’m happy I did. It’s quite a bit faster for the money.
Laptop: ASUS R1F Convertible tablet, T2700@2.00, 2G RAM, Win7 32 bit. They don’t make Win7 drivers so not all the doodads work. For instance, I have to rotate the screen via software, but it’s better than using Vista.
Keyboard: Microsoft Wireless Multimedia Keyboard 1.1
File Sharing: Dropbox. I can’t tell you how useful this is. Wait, yes I can. Very useful.
Backup: Mozy. Offsite, daily backups. About $200 bucks every two years for 18.2G from my computer and 24G from wifey’s computer. What the hell does she have on there anyway? Photos, I’ll bet.
Phone: iPhone 4. I switched a few months ago. AT&T service sucks in my area, but I can survive for the 22 minutes of phone calls I make per month. This thing is a great computer that also sometimes makes phone calls.
Scanner: CanoScan LiDE 35 using LiDE60 drivers so it works on Win7-64.
Printer: HP LasterJet 1200
Storage: I have a 200G Maxtor. I used to have two, but its brother died. This one too shall die soon. I really don’t need it with Mozy, but I’ll probably get another one when this one goes.
Email: Gmail. I still have MS Outlook for programming/testing purposes, but I don’t use it. It opens every Sunday morning and downloads everything from Gmail, so I have a backup.
Calendar: Google Apps
RSS: Google Reader
Search: Google, but I’ve been reading about alternatives because I’m sick of the whole first page being crap sites. I started using Blekko recently - better on some things, not on others.
Newsgroups: I don’t read nntp much anymore, but I use Agent as my newsreader and an NNTP bridge to convert MSDN web fora to nntp.
Browser: Firefox. Chrome is not customizable enough for me.
Music: iPhone 4 and ITunes. I would love to eschew iTunes, but there’s simply nothing better for podcasts. Podcasts to which I subscribe include Marketplace Tech Report, Cincinnati Bengals Audio Minutes, Coffee Break Spanish, College Football Podcast, Jordan Jesee GO!, Merriam-Webster’s Word of the Day, Methods in Excel, Motley Fool Money, Car Talk, Fresh Air, Science Friday, You Look Nice Today, and 37signals. For the car, I use a Griffin iTrip FM transmitter hooked up to the iPhone.
Radio: Pandora. Yet another service I pay money for in a world where everything seems like it’s free.
eBooks: Dead trees.
Todo lists: Goodtodo
Note taking: Evernote. Every crazy idea I have goes here. It’s fun to go back and read what I thought was a good idea a few months ago.
Screen capture: SnagIt
Blog: WordPress
Text Editor: Notepad++
Bookmarks: Delicious. I heard they’re going out of business so I signed up for pinboard.in, but I haven’t used it yet. I need a good Firefox Addon for it, and there isn’t one yet.
FTP: Filezilla
Code: VBA goes in the VBE. Ruby goes in Intype. I’m very impressed with that as a code editor. HTML and CSS go in AlleyCode out of habit.
Compression: JustZipIt. I love programs with fewer options (except browsers apparently).
PDF: CutePDF for printing, FoxIt for reading, and PDFCreator for VBA stuff.
Graphics: IrfanView
File Copy: SynchronizeIt
SCP: WinSCP
Office: MS Office 2003 and 2007.
GPS: Garmin Approach GS - got it for xmas, so no commentary yet.
I used this program called ExamDiff recently. I started updating code in the wrong version of the spreadsheet and I needed to figure out the differences. I exported the modules, loaded them in ExamDiff, and it saved the day. Nice program, that.
Most used iPhone Apps: Gmail, Dropbox, Evernote, Netflix, Google Reader, and Cribbage Lite.
As for wish lists, I’d like to get an iPad. I really don’t have a use for it, so I haven’t pulled the trigger. I’d also like a scanner with a document feeder, but for the 10 pages a year I scan, it’s probably not worth it. I wish my car had an iPhone dock, but I’m allergic to car payments, so that one will have to wait. I’d like to get a golf simulator for my house, but then I’d need to get a house with 15 foot ceilings. I haven’t had great luck with robots, but I think I’ll be trying the new Scooba 230. If cleaning the bathroom isn’t the worst job, I can’t imagine what is.
Announcing the Flex-A-Widget Challenge for the ArcGIS Viewer for Flex
You can enter as many widgets as you like for the competition. The online entry form becomes available on January 14. If you've previously submitted a widget onto the Viewer code gallery, you're welcome to enter it in this competition by completing the entry form.
We recommend that you submit the following as part of your widget entry:
- A compiled version of your widget that works in the ArcGIS Viewer for Flex application
- The source code for your widget
- A ReadMe file that explains what the widget does and how to install/configure it
- An associated sample service available to see it in action (if needed)
The winner of the competition will be decided by public voting.
For full information on contest eligibility and how to enter, see the contest home page and official rules. Study these documents closely and you'll notice that the first 100 applicants to submit a valid entry will receive a free Flex-A-Widget t-shirt!
Good luck and we hope you enter often!
Creating a time-enabled WMS with ArcGIS Server 10
Preparing the data
To get a time-enabled WMS, your data has to have some temporal information associated with it. Temporal data can theoretically be stored within raster data or it can be associated with vector features in an attribute field. With ArcGIS Server, you can only publish a time-enabled WMS from a map service (as opposed to an image service), so we’re just going to focus on vector data for this example.
The test dataset we’ll use are some point and line features in Port-au-Prince, Haiti, collected from the Open Street Map (OSM) database. OSM is a crowdsourced geographic database into which any editor can contribute data. Before the January, 2010 earthquake in Haiti, OSM didn’t have much coverage of Port-au-Prince. Here’s what it looked like:
(C) OpenStreetMap and contributors, CC-BY-SA
After the earthquake, volunteers quickly digitized data for the Port-au-Prince area to provide more accurate maps for responders on the ground. In a few weeks, the dataset grew into quite possibly the most complete and accurate GIS dataset of Port-au-Prince that has ever been compiled.
(C) OpenStreetMap and contributors, CC-BY-SA
To better visualize this amazing power of crowdsourcing, I decided to build a WMS that shows the growth of OSM in Haiti during the days following the earthquake.
The original data I downloaded from Geofabrik was a snapshot from January 25, 2010. This was only two weeks after the earthquake, so if you download the data now, you’ll get an even more recent snapshot. A nice perk of the site is that it offers the OSM data in Esri shapefile format. For this example, I decided to download streets, waterways, and points of interest.
Here's an example of the attribute table for the streets layer. The highlighted field 'timestamp' contains the time the feature was submitted into the OSM database. All the layers I downloaded have a similar 'timestamp' field.
Configuring time settings in the ArcMap document
Before publishing the map document through ArcGIS Server, you need to enable time settings on each layer in ArcMap. This involves opening the layer properties and telling your map which field holds the time information that should be used for that particular layer. Here’s an example screenshot for the streets layer:
To get here, I just right-clicked the streets layer in the ArcMap table of contents and clicked Properties. Then I clicked the Time tab, which is new at ArcGIS 10.
Here are some of the settings I adjusted:
- Layer Time – This specifies whether a feature in the layer is associated with a single time point (defined by one attribute field) or a time span (defined by two attribute fields). With the OSM data, each feature has a single time field showing when it was added to the database, so I picked Each feature has a single time field.
- Time Field – This is the attribute field that holds the time information. Depending on what you selected above for Layer Time, you get either one or two dropdowns here. In my case, I specified the 'timestamp' field I showed earlier.
- Field format – This denotes the pattern or format of the values in the Time Field. The OSM data has a timestamp format of 'yyyy-mm-dd hh:mm:ss', which is valid according to the ISO8601 spec and is also supported by ArcMap. You can see that it's one of the choices in the dropdown.
There are other settings you can adjust in this dialog which will all affect the resulting time-enabled WMS. The ArcGIS Desktop Help explains these options in detail.
After adjusting these settings, you can save the map and prepare for publishing to ArcGIS Server.
Publishing the time-enabled WMS
The workflow for publishing a time-enabled WMS with ArcGIS Server is the same as publishing a regular WMS. You just publish your map as an ArcGIS Server map service, and enable the WMS capability on it. Both .msd and .mxd files can be published as map services exposing time-aware data.
Once you start the map service, you can begin making WMS requests to it.
Consuming the time-enabled WMS
There are many good WMS clients in either the commercial or open source realms, but ArcMap is a particularly appropriate client for a time-enabled WMS because it comes with a time slider. This not only lets you display or animate your map using the TIME parameter, but also helps you parse and display temporal extent information advertised in the GetCapabilities response.
Here are some brief steps to consume a time-enabled WMS in ArcMap:
- Start ArcMap and add your WMS layer.
- Click the Open Time Slider Window button.
- Experiment with dragging the time slider or playing the time animation.
In the series of images below, the time slider demonstrates the daily addition of data to OSM in the Port-au-Prince area in the weeks following the earthquake.