I get a histogram correctly drawn in a canvas. The commands above should be completely equivalent to what you wrote above.
How are you executing your commands? As a script or in a python interpreter? Can you try my commands from an interpreter and see if they work? What version of ROOT are you using? What version of python?
If you can think of other info that might help narrow the problem down just write them.
I noticed that the above script also worked but only after defining the TCanvas.
import ROOT as r
file = r.TFile.Open("Timing_Data_new.root")
dir = file.Get("asahi_0p0Prct_Th60mv_SF6_09p4kV")
hist = r.TH1F()
hist = dir.Get("Hist_09p4kV")
c = r.TCanvas("c")
hist.Draw()
My root version is ROOT 6.13/01 . This is not the stable version but I forgot to change the git branch and installed. Python version is Python 2.7.10
It should not be necessary to create the canvas explicitly since a default one should be created for you. Also, it should make no difference when you run it with python -i myscript.py or when you run it from the shell step by step.
If I run this from lxplus (this uses ROOT 6.13):
[etejedor@lxplus026 ~]$ source /cvmfs/sft.cern.ch/lcg/views/dev3/latest/x86_64-slc6-gcc62-opt/setup.sh
[etejedor@lxplus026 1]$ python -i myscript.py
Info in <TCanvas::MakeDefCanvas>: created default TCanvas with name c1
>>>
Do you also see the message about the default canvas creation, but when you look at it is empty? Can you click on the canvas with the mouse, to check if it is a refreshing problem?