我想制作一个这样的热图(在FlowingData上显示):

源数据在这里,但随机数据和标签可以使用,即
import numpy
column_labels = list('ABCD')
row_labels = list('WXYZ')
data = numpy.random.rand(4,4)
Run Code Online (Sandbox Code Playgroud)
在matplotlib中制作热图很容易:
from matplotlib import pyplot as plt
heatmap = plt.pcolor(data)
Run Code Online (Sandbox Code Playgroud)
我甚至发现了一个看起来正确的色彩图参数:heatmap = plt.pcolor(data, cmap=matplotlib.cm.Blues)
但除此之外,我无法弄清楚如何显示列和行的标签,并以正确的方向显示数据(原点位于左上角而不是左下角).
试图操纵heatmap.axes(例如heatmap.axes.set_xticklabels = column_labels)都失败了.我在这里错过了什么?
我正在使用Matplotlib绘制直方图.使用上一个问题的提示:Matplotlib - 标记每个bin,我或多或少地解决了问题.
最后一个问题 - 先前 - x轴标签("时间(以毫秒为单位)")在x轴刻度线下面呈现(0.00,0.04,0.08,0.12等)

使用Joe Kingston的建议(见上面的问题),我尝试使用:
ax.tick_params(axis='x', pad=30)
Run Code Online (Sandbox Code Playgroud)
但是,这会同时移动x轴刻度线(0.00,0.04,0.08,0.12等)以及x轴标签("时间(以毫秒为单位)"):

有没有办法只将x轴标签移动到三行数字下面?
Nb:您可能需要直接打开下面的PNG - 右键单击图像,然后单击查看图像(在FF中),或在新选项卡中打开图像(Chrome).由SO完成的图像调整大小使它们几乎不可读
我正在构建一个用于数据分析的小工具,我已经到了这一点,我必须绘制准备好的数据.此前的代码生成以下两个长度相等的列表.
t11 = ['00', '01', '02', '03', '04', '05', '10', '11', '12', '13', '14', '15', '20', '21', '22', '23', '24', '25', '30', '31', '32', '33', '34', '35', '40', '41', '42', '43', '44', '45', '50', '51', '52', '53', '54', '55']
t12 = [173, 135, 141, 148, 140, 149, 152, 178, 135, 96, 109, 164, 137, 152, 172, 149, 93, 78, 116, 81, 149, 202, 172, 99, 134, 85, 104, 172, 177, 150, 130, 131, 111, 99, 143, 194]
Run Code Online (Sandbox Code Playgroud)
基于此,我想用matplotlib.plt.hist建立一个直方图.但是,存在一些问题:1.对于所有x,连接t11 [x]和t12 [x].其中t11 …
我正在尝试在直方图顶部添加数据标签值,以尝试明显地显示频率。
这是我现在的代码,但不确定如何编码以将值放在上面:
plt.figure(figsize=(15,10))
plt.hist(df['Age'], edgecolor='white', label='d')
plt.xlabel("Age")
plt.ylabel("Number of Patients")
plt.title = ('Age Distrubtion')
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人知道执行此操作的代码:

我想在matplotlib生成的图中仅显示x轴上的相关部分 - 使用pyplot包装器库.
问题:如何通过传递间隔范围的元组来强制绘制某些轴位置的截止值,这些元组定义了要绘制的x轴的间隔.理想情况下,截止值应表示为叠加在x轴上的垂直双波符号.
使用xlim和axis没有用,因为它只允许设置x轴的开始和结束,但中间没有间隔:
具体而言,对于上图,60 to 90不应显示之间的x轴区域,并应添加截止/不连续标记标记.
import matplotlib.pyplot as pyplot
x1, x2 = 0, 50
y1, y2 = 0, 100
pyplot.xlim([x1, x2])
#alternatively
pyplot.axis([x1, x2, y1, y2])
Run Code Online (Sandbox Code Playgroud)
使用matplotlib不是必需的.
更新/摘要:
subplots-splitting和两个图来模拟matplotlib/pyplot中的折线图.
我有一个直方图,我想在其中用 bin 标记 x 轴。直方图绘制为对数对数图,但 bin 非常具体。图表:
垃圾箱:
bins = [0, 0.035, 0.07, 0.15, 0.5, 1, 3, 10, 40]
Run Code Online (Sandbox Code Playgroud)
有什么办法可以做到这一点吗?我相信它还需要摆脱当前的 x 轴标签。
请我想我有一个简单的问题,但我看不到任何有用的博客来展示如何实现这一目标。我有一个名为“series”的 python pandas 系列,我使用 series.hist() 来可视化直方图。我需要直接在图表上可视化每个 bin 的出现次数,但我找不到解决方案。
我如何才能在每个垃圾箱顶部看到一个标签,显示每个垃圾箱的出现次数?
准确地说,这是我的代码:
import matplotlib.pyplot as plt
your_bins=10
data = [df_5m_9_4pm.loc['2017-6']['sum_daily_cum_ret'].values]
plt.hist(data, binds = your_bins)
arr = plt.hist(data,bins = your_bins)
for i in range(your_bins):
plt.text(arr[1][i],arr[0][i],str(arr[0][i]))
Run Code Online (Sandbox Code Playgroud)
如果我只是打印变量“数据”,它是这样的:
[array([ 0. , 0.03099187, -0.00417244, ..., -0.00459067,
0.0529476 , -0.0076605 ])]
Run Code Online (Sandbox Code Playgroud)
如果我运行上面的代码,我会收到错误消息:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-97-917078981b1d> in <module>()
2 your_bins=10
3 data = [df_5m_9_4pm.loc['2017-6']['sum_daily_cum_ret'].values]
----> 4 plt.hist(data, binds = your_bins)
5 arr = plt.hist(data,bins = your_bins)
6 for i in range(your_bins):
~/anaconda3/lib/python3.6/site-packages/matplotlib/pyplot.py in …Run Code Online (Sandbox Code Playgroud)